Beispiel #1
0
 void OnEnable()
 {
     UVCoords = new UVCoordinates();
     UVCoords.TopLeft = new Vector2(0, 1);
     UVCoords.BottomLeft = new Vector2(0, 0);
     UVCoords.BottomRight = new Vector2(1, 0);
     UVCoords.TopRight = new Vector2(1, 1);
     GetComponent<MeshFilter>().sharedMesh = new Mesh();
 }
Beispiel #2
0
        private static TextureCoordinatesWrl TexCoordPointData(string[] lines, int startIndex, int endIndex)
        {
            TextureCoordinatesWrl textureCoordinates = new TextureCoordinatesWrl();

            if (lines[startIndex + 1].StartsWith("point"))
            {
                startIndex += 1;                                // # We set the index to the 'point' line
                endIndex    = GetIndexEnd(lines, startIndex);
                for (int i = startIndex + 1; i < endIndex; i++) // We start on the line after point
                {
                    UVCoordinates uv = new UVCoordinates(GenericUtils.SplitBySpace(GenericUtils.TrimEndComma(lines[i])));
                    textureCoordinates.UVList.Add(uv);
                }
            }
            return(textureCoordinates);
        }
Beispiel #3
0
 public void Serialize(BinaryWriter writer)
 {
     writer.Write((short)0);
     writer.Write(Index);
     UVCoordinates.ForEach(coordinate => writer.WriteFixedPoint(coordinate.Item1)); // U
     UVCoordinates.ForEach(coordinate => writer.WriteFixedPoint(coordinate.Item2)); // V
     IndexedVertices.ForEach(vertex => writer.Write((short)vertex.Item1));
     writer.Write(Index);
     writer.Write(Index);
     writer.Write(Index);
     writer.WriteFixedPoint(CalculateDistance() / 256);
     writer.WriteFixedPoint(Vertices.GetXMin());
     writer.WriteFixedPoint(Vertices.GetXMax());
     writer.WriteFixedPoint(Vertices.GetYMin());
     writer.WriteFixedPoint(Vertices.GetYMax());
     writer.WriteFixedPoint(Vertices.GetZMin());
     writer.WriteFixedPoint(Vertices.GetZMax());
     writer.Write(MaterialIndex);
 }