0
3次空間を指定すると、この関数は次の大きな空白を検索し、そこでマーカーを配置してから終了します。ループがクラッシュして印刷されないのはなぜですか? Unity3D
しかし、関数はループの開始前に存在するチェックメッセージを出力しないので、デバッグ方法はわかりません。チェックは0,0,0から開始し、ボクセルの外側のスペースはtrueとして返されるので、最初のループをすべてデフォルトにしてメッセージを返すべきです。 unity.exeプロセスのジャムと私はそれを中止する必要があります。
なぜ印刷されませんか?他に何が間違っていますか?それが遅い場合でも、私はループ内の進捗状況を追跡することができるはずですか?それはなぜでしょうか?
function findvoidable() //find void space in voxel volume
{
var step = dist+1;
print("start"); WaitForFixedUpdate(); //this doesnt print
for (var k : int = 0; k < mesher.PNGpaths.Length ; k+=step/2)
for (var j = 0; j < mesher.tex.height ; j+=step/2)
for (var i = 0; i < mesher.tex.width ; i+=step/2){
print("in schema");WaitForFixedUpdate();
if (wst(i , j , k )==false)
if (wst(i+step,j ,k )==false)
if (wst(i-step,j ,k )==false)
if (wst(i ,j+step,k )==false)
if (wst(i ,j-step,k )==false)
if (wst(i ,j ,k+step)==false)
if (wst(i ,j ,k-step)==false)
{
var cnt=0;
for (var x = i-step; x < i+step ; x+=1)
for (var y = j-step; y < j+step ; y+=1)
for (var z = k-step; z < k+step ; z+=1)
{
if (wst(x , y , z) == false)
cnt+=1;
}
if (cnt >= step*step*step-3)
{
refCube.transform.position=Vector3(i,j,k);
break;break;break;break;break;break;
}
else
{
WaitForFixedUpdate();
refCube.transform.position=Vector3(i,j,k);
}
}
}
}
おかげで、それが固定されます。 –