public void Run()
 {
     foreach (var i in _filter)
     {
         UMeshData     offset = _filter.Get2[i];
         URenderMatrix matrix = _filter.Get1[i];
         Positioning.Components.Position pos = _filter.Get3[i];
         for (int j = 0; j < offset.Offset.Length; j++)
         {
             matrix.Matrix[j] = Matrix4x4.TRS(pos.Point + offset.Offset[j], offset.RotationOffset[j], offset.Scale[j]);
         }
     }
 }
Beispiel #2
0
        public void ParseMeshData(UMeshData data, URenderMatrix uRenderMatrix)
        {
            List <Mesh>       mesh  = new List <Mesh>();
            List <Vector3>    pos   = new List <Vector3>();
            List <Quaternion> rot   = new List <Quaternion>();
            List <Material>   mat   = new List <Material>();
            List <Vector3>    scale = new List <Vector3>();

            GetRendererInfo(ref mesh, ref pos, ref rot, ref scale, ref mat, transform);
            data.Offset         = pos.ToArray();
            data.RotationOffset = rot.ToArray();
            data.Scale          = scale.ToArray();

            uRenderMatrix.Meshes    = mesh.ToArray();
            uRenderMatrix.Materials = mat.ToArray();
            uRenderMatrix.Matrix    = new Matrix4x4[mesh.Count];
        }