将Javascript翻译成C#问题

时间:2016-07-30 18:20:43

标签: javascript c# unity3d voxel

我一直在尝试将此Javascript code转换为C# (Unity3d) script。如果有帮助的话,它是朴素表面网explained here的实现。

我的翻译C#脚本编译没有错误/警告,但结果是一个破碎的(但可识别的)网格: C# Script in Unity3D

我还注意到顶点看起来合理正确: enter image description here

(如果你已经不知道,输入体素只是单纯的噪音。)

我真的很想让这个工作,但我不熟悉Javascript。 能够熟悉两种语言的人能告诉我我错过了什么吗?谢谢。

编辑:Here's the project.

2 个答案:

答案 0 :(得分:0)

Unity的网格会收到一个三角形列表 但是,Javascript代码似乎使用四边形列表 你应该将一个正方形分成两个三角形。

start_msg

你的三维数组工具有问题...
单个数组的原始Javascript代码工作正常。

答案 1 :(得分:0)

解决。我只是误译了Javascript代码的第87行。

原件:

for(x[2]=0; x[2]<dims[2]-1; ++x[2], n+=dims[0], buf_no ^= 1, R[2]=-R[2]) {

我的错误翻译:

for (pos[2] = 0; pos[2] < depth - 1; pos[2]++, bufferNumber ^= 1, R[2] = -R[2] )

更正:

for (pos[2] = 0; pos[2] < depth - 1; n += width, bufferNumber ^= 1, R[2] = -R[2] )

基本上是一个错字。对不起。