From e2fbb14dd5df1f3484a3df9c972f3cd3c49828ee Mon Sep 17 00:00:00 2001 From: CortexCore <2630229280@qq.com> Date: Tue, 23 Jan 2024 04:14:54 +0800 Subject: [PATCH] 1 --- Assets/Artists/Scenes/Workshop.unity | 2 +- .../Unity/Scripts/Console/BITConsole.cs | 17 +++++------- ProjectSettings/ProjectSettings.asset | 5 ++-- README.md | 27 +++++++++++++------ 4 files changed, 29 insertions(+), 22 deletions(-) diff --git a/Assets/Artists/Scenes/Workshop.unity b/Assets/Artists/Scenes/Workshop.unity index 608e6e5c..db1bc451 100644 --- a/Assets/Artists/Scenes/Workshop.unity +++ b/Assets/Artists/Scenes/Workshop.unity @@ -23292,7 +23292,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 627812465856688283, guid: c8d49b5a439dbc34dac722054bdd4d0f, type: 3} propertyPath: m_IsActive - value: 0 + value: 1 objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] diff --git a/Assets/BITKit/Unity/Scripts/Console/BITConsole.cs b/Assets/BITKit/Unity/Scripts/Console/BITConsole.cs index 49966c6d..e63b3419 100644 --- a/Assets/BITKit/Unity/Scripts/Console/BITConsole.cs +++ b/Assets/BITKit/Unity/Scripts/Console/BITConsole.cs @@ -48,16 +48,6 @@ namespace BITKit.Console private (MethodInfo[] methods,int currentIndex) _currentCommands; - private void OnEnable() - { - Application.logMessageReceivedThreaded += LogCallback; - } - - private void OnDisable() - { - Application.logMessageReceivedThreaded -= LogCallback; - } - private void Start() { singleton = this; @@ -88,6 +78,12 @@ namespace BITKit.Console { BIT4Log.OnNextLine -= OnNextLine; }); + + Application.logMessageReceivedThreaded += LogCallback; + destroyCancellationToken.Register(() => + { + Application.logMessageReceivedThreaded -= LogCallback; + }); } private void OnNextLine() @@ -99,7 +95,6 @@ namespace BITKit.Console private void OnDestroy() { _inputActionGroup.allowInput.RemoveElement(this); - Application.logMessageReceivedThreaded -= LogCallback; } public async void Toggle(bool active) { diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 32384db2..89b2cfd0 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -136,8 +136,9 @@ PlayerSettings: vulkanEnableLateAcquireNextImage: 0 vulkanEnableCommandBufferRecycling: 1 loadStoreDebugModeEnabled: 0 - bundleVersion: 0.3 - preloadedAssets: [] + bundleVersion: 0.6 + preloadedAssets: + - {fileID: 11400000, guid: 6c3ca1ca26aa7d84eaa7fee9094d9164, type: 2} metroInputSource: 0 wsaTransparentSwapchain: 0 m_HolographicPauseOnTrackingLoss: 1 diff --git a/README.md b/README.md index 1dd77b63..abe5f3c1 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,9 @@ 通过直接在模型上绘制,对平面甚至任意表面进行切削仿真 支持多种笔刷,可通过Mod自定义笔刷 -支持多少模型,可通过Mod自定义模型 + +支持多种模型,可通过Mod自定义模型 + **原生支持Mod**,可以实现任何功能,例如: * 接入真实切削机 * 模拟切削过程 @@ -29,9 +31,8 @@ ## 类库:[iFactory-Cutting](http://server.bitfall.icu:3000/root/iFactory.Cutting.git) -全平台应用支持 +仅Windows平台应用支持 -可能仅支持Window - [X] Windows - [ ] Android - [ ] IOS (花钱买IOS开发者才行) @@ -45,7 +46,8 @@ 很明显,这个问题一开始涉及到了各种几何和计算机图形的问题,再经过各种尝试后,我们得到了相对最佳的解决方案: 基于自定义着色器`Alpha Clip`对绘制部分进行裁剪(指创建遮罩)实现模拟切削的效果 -通过对模型直接绘制,计算出绘制的点,并通过`Alpha Clip`着色器对模型进行裁剪,实现切削效果 + +通过对模型材质直接绘制,计算出绘制的点,并通过`Alpha Clip`着色器对模型进行裁剪,实现切削效果 不仅仅需要出厂自带的模型和笔刷,我们还需要支持自定义笔刷和自定义模型,这就是`Mod支持` @@ -64,13 +66,19 @@ ## 当前问题 -### 在平面上绘制的一个圆,中间的部分不会被裁剪 -这不会涉及到物理,确实会出现一些与物理不符的情况,但是这是一个切削仿真,而不是物理仿真 +### 编译后,加载不了Mod,没有物料板 +目前编译后未收到报错,功能也无法使用,正在解决中 + +### 在平面上绘制的一个圆,中间的部分不会被裁剪 +这不会涉及到物理,这相对来说只是画画 + +所以会出现一些与物理不符的情况,因为这是一个切削仿真,而不是物理仿真 + -试试洪水填充和扫描线填充相对于至少`1024 x 1024`px的图像来说性能消耗巨高 #### 为什么? 因为本质上就是画了一个圆环而不是圆圈,要圆圈得用`点笔刷`绘制一个半径足够的圆 +实时洪水填充和扫描线填充相对于至少`1024 x 1024`px的图像来说性能消耗巨高 #### 如何解决? 使用`Void笔刷`绘制圆,将应该裁剪的部分手动填充,`Void笔刷`不会被记录到导出的切削数据中 @@ -84,7 +92,7 @@ ## 运行配置 -**CPU:** `Intelli 10400F`及以上 +**CPU:** `Intel 10400F`及以上 **GPU:** `GTX1050`及以上 @@ -110,6 +118,8 @@ - 不支持热更新和资源管理,一个发布就是几个G,一个小补丁都需要重新下载 - 非常复杂的图形API,需要自己实现各种各样的图形API - 非常模糊的文档,例如对模型表面进行绘制需要自己实现太多的底层 +- pia,突然就卡死了 +- pia,突然又丢失绑定了 - 甚至连基本的`UI动态缩放`都没有,适配1080P就是1080P,适配2160P就是2160P,模糊得很 - 没有`UI Toolkit`这种现成的UI库,自带的UI库是上个世纪的产物 - 一个小改动都需要重新绑定,几乎等于重新配置`Rig` @@ -150,6 +160,7 @@ ## Bug清单 - [ ] 绘制圆环后,中间的部分不会被裁剪 - [ ] 通过各种方式更改Mod后可能会阻塞Mod线程 +- [ ] 编译后功能丢失,例如无物料板和无法加载Mod ## 安装方式与相关依赖 直接解压下载好的`zip`并运行`iFactory-Cutting.exe`即可 ## 如何自行编译