private static PMXFormat.Vertex ConvertVertex(PMDFormat.Vertex pmd_vertex)
 {
     PMXFormat.Vertex result = new PMXFormat.Vertex();
     result.pos        = pmd_vertex.pos;
     result.normal_vec = pmd_vertex.normal_vec;
     result.uv         = pmd_vertex.uv;
     result.add_uv     = new Vector4[0];
     if (100 == pmd_vertex.bone_weight)
     {
         //1頂点
         PMXFormat.BDEF1 bone_weight = new PMXFormat.BDEF1();
         bone_weight.bone1_ref = pmd_vertex.bone_num[0];
         result.bone_weight    = bone_weight;
     }
     else
     {
         //2頂点
         PMXFormat.BDEF2 bone_weight = new PMXFormat.BDEF2();
         bone_weight.bone1_ref    = pmd_vertex.bone_num[0];
         bone_weight.bone2_ref    = pmd_vertex.bone_num[1];
         bone_weight.bone1_weight = pmd_vertex.bone_weight / 100.0f;
         result.bone_weight       = bone_weight;
     }
     result.edge_magnification = (float)pmd_vertex.edge_flag;
     return(result);
 }
 private PMXFormat.BoneWeight ReadBoneWeightBDEF2()
 {
     PMXFormat.BDEF2 result = new PMXFormat.BDEF2();
     result.bone1_ref    = CastIntRead(binary_reader_, format_.header.boneIndexSize);
     result.bone2_ref    = CastIntRead(binary_reader_, format_.header.boneIndexSize);
     result.bone1_weight = binary_reader_.ReadSingle();
     return(result);
 }
Пример #3
0
	private PMXFormat.BoneWeight ReadBoneWeightBDEF2() {
		PMXFormat.BDEF2 result = new PMXFormat.BDEF2();
		result.bone1_ref = CastIntRead(binary_reader_, format_.header.boneIndexSize);
		result.bone2_ref = CastIntRead(binary_reader_, format_.header.boneIndexSize);
		result.bone1_weight = binary_reader_.ReadSingle();
		return result;
	}
	private static PMXFormat.Vertex ConvertVertex(PMDFormat.Vertex pmd_vertex) {
		PMXFormat.Vertex result = new PMXFormat.Vertex();
		result.pos = pmd_vertex.pos;
		result.normal_vec = pmd_vertex.normal_vec;
		result.uv = pmd_vertex.uv;
		result.add_uv = new Vector4[0];
		if (100 == pmd_vertex.bone_weight) {
			//1頂点
			PMXFormat.BDEF1 bone_weight = new PMXFormat.BDEF1();
			bone_weight.bone1_ref = pmd_vertex.bone_num[0];
			result.bone_weight = bone_weight;
		} else {
			//2頂点
			PMXFormat.BDEF2 bone_weight = new PMXFormat.BDEF2();
			bone_weight.bone1_ref = pmd_vertex.bone_num[0];
			bone_weight.bone2_ref = pmd_vertex.bone_num[1];
			bone_weight.bone1_weight = pmd_vertex.bone_weight / 100.0f;
			result.bone_weight = bone_weight;
		}
		result.edge_magnification = (float)pmd_vertex.edge_flag;
		return result;
	}