This commit is contained in:
CortexCore 2024-01-23 04:14:54 +08:00
parent f41d512247
commit e2fbb14dd5
4 changed files with 29 additions and 22 deletions

View File

@ -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: []

View File

@ -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)
{

View File

@ -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

View File

@ -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的图像来说性能<font color=yellow>消耗巨高</font>
#### 为什么?
因为本质上就是画了一个圆环而不是圆圈,要圆圈得用`点笔刷`绘制一个半径足够的圆
实时洪水填充和扫描线填充相对于至少`1024 x 1024`px的图像来说性能<font color=yellow>消耗巨高</font>
#### 如何解决?
使用`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`即可
## 如何自行编译