void DrawWave(int ix, int iy, int iz) { var wave = _waveBuffer.GetWave(ix, iy, iz); if (!wave.IsObserved) { return; } var state = wave.ObservedState; var mesh = _moduleSet.modules[state.Index].Mesh; if (mesh == null) { return; } var pos = math.float3(ix, iy, iz) - _size / 2 + 0.5f; var rot = state.Pose.ToRotation(); var m1 = (float4x4)transform.localToWorldMatrix; var m2 = math.float4x4(rot, pos); Graphics.DrawMesh(mesh, math.mul(m1, m2), _material, gameObject.layer); }