修正前
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));