以下の内容はhttps://baba-s.hatenablog.com/entry/2018/12/04/173000より取得しました。


【Unity】GPU パーティクルのビルボードで位置がズレる不具合に遭遇したので原因と解決方法メモ

修正前

pos.xyz *= _particles[iidx].scale;
pos.xyz = rotateWithQuaternion(pos.xyz, rotation);
pos.xyz += _particles[iidx].position;

v2f o;
o.pos = mul(UNITY_MATRIX_P, mul(UNITY_MATRIX_MV, float4(0, 0, pos.z, 1)) + float4(pos.x, pos.y, 0, 0));

修正後

pos.xyz *= _particles[iidx].scale;
pos.xyz = rotateWithQuaternion(pos.xyz, rotation);

float3 offset = _particles[iidx].position;

v2f o;
o.pos = mul(UNITY_MATRIX_P, mul(UNITY_MATRIX_MV, float4( offset.x, offset.y, offset.z + pos.z, 1)) + float4(pos.x, pos.y, 0, 0));
  • 位置を計算するタイミングが間違っていた



以上の内容はhttps://baba-s.hatenablog.com/entry/2018/12/04/173000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14