예제 #1
0
 public void Populate(Mesh m)
 {
     positionAccessor.Populate(m.vertices);
     if (colorAccessor != null)
     {
         colorAccessor.Populate(m.colors);
     }
     if (normalAccessor != null)
     {
         //Vector3[] normals = new Vector3[m.normals.Length];
         //System.Array.Copy(m.normals, normals, normals.Length);
         //for(int i = 0; i < normals.Length; i++)
         //{
         //    normals[i].x = -normals[i].x;
         //    normals[i].y = -normals[i].y;
         //    normals[i].z = -normals[i].z;
         //}
         normalAccessor.Populate(m.normals, true);
     }
     if (texCoord0Accessor != null)
     {
         texCoord0Accessor.Populate(m.uv, false);
     }
     if (texCoord1Accessor != null)
     {
         texCoord1Accessor.Populate(m.uv2, false);
     }
     if (texCoord2Accessor != null)
     {
         texCoord2Accessor.Populate(m.uv3, false);
     }
     if (texCoord3Accessor != null)
     {
         texCoord3Accessor.Populate(m.uv4, false);
     }
     if (lightmapTexCoordAccessor != null)
     {
         lightmapTexCoordAccessor.PopulateWithOffsetScale(m.uv2, false);
     }
     if (jointAccessor != null)
     {
         Vector4[] bones = boneWeightToBoneVec4(m.boneWeights);
         jointAccessor.PopulateShort(bones);
     }
     if (weightAccessor != null)
     {
         Vector4[] weights = boneWeightToWeightVec4(m.boneWeights);
         weightAccessor.Populate(weights);
     }
     if (tangentAccessor != null)
     {
         tangentAccessor.Populate(m.tangents, false);
     }
 }
예제 #2
0
 public void Populate(Mesh m)
 {
     positionAccessor.Populate(m.vertices);
     if (colorAccessor != null)
     {
         colorAccessor.Populate(m.colors);
     }
     if (normalAccessor != null)
     {
         normalAccessor.Populate(m.normals);
     }
     if (texCoord0Accessor != null)
     {
         texCoord0Accessor.Populate(m.uv, false);
     }
     if (texCoord1Accessor != null)
     {
         texCoord1Accessor.Populate(m.uv2, false);
     }
     if (texCoord2Accessor != null)
     {
         texCoord2Accessor.Populate(m.uv3, false);
     }
     if (texCoord3Accessor != null)
     {
         texCoord3Accessor.Populate(m.uv4, false);
     }
     if (lightmapTexCoordAccessor != null)
     {
         lightmapTexCoordAccessor.PopulateWithOffsetScale(m.uv2, false);
     }
     if (jointAccessor != null)
     {
         Vector4[] bones = boneWeightToBoneVec4(m.boneWeights);
         jointAccessor.PopulateShort(bones);
     }
     if (weightAccessor != null)
     {
         Vector4[] weights = boneWeightToWeightVec4(m.boneWeights);
         weightAccessor.Populate(weights);
     }
     if (tangentAccessor != null)
     {
         tangentAccessor.Populate(m.tangents, false);
     }
 }