Example #1
0
        protected override Dictionary <string, TransformModel> GetBonesBindPoseTransforms(ExportableModel r3AnimatedMesh)
        {
            var result = new Dictionary <string, TransformModel>();

            Transform[] bones     = r3AnimatedMesh.GetComponent <SkinnedMeshRenderer>().bones;
            Matrix4x4[] bindposes = r3AnimatedMesh.GetComponent <SkinnedMeshRenderer>().sharedMesh.bindposes;
            for (int i = 0; i < bones.Length; i++)
            {
                var          boneTransform         = bones[i];
                var          channelGameObject     = ObjectsHierarchyHelper.GetProperChannelForTransform(boneTransform).gameObject;
                BoneBindPose boneBindPoseTransform = BoneBindPoseHelper.GetBindPoseBoneTransformForBindPoseMatrix(bones[i], bindposes[i]);
                boneBindPoseTransform.boneName = channelGameObject.name;
                result.Add(
                    boneBindPoseTransform.boneName,
                    new TransformModel(
                        boneBindPoseTransform.position,
                        boneBindPoseTransform.rotation,
                        boneBindPoseTransform.scale,
                        new Vector3d(0.0f, 0.0f, 0.0f),
                        new MathDescription.Quaternion(1.0f, 0.0f, 0.0f, 0.0f),
                        new Vector3d(1.0f, 1.0f, 1.0f)
                        )
                    );
            }
            return(result);
        }
Example #2
0
        protected List <Model.AnimatedExportObjectModelDescription.MaterialsDescription.Material> GetMaterials(ExportableModel r3AnimatedMesh)
        {
            var result = new List <Model.AnimatedExportObjectModelDescription.MaterialsDescription.Material>();
            var unityMaterialConverter = new UnityMaterialToMaterialDescriptionConverter();

            foreach (var unityMaterial in r3AnimatedMesh.GetComponent <Renderer>().materials)
            {
                result.Add(unityMaterialConverter.MaterialDescriptionFromUnityMaterial(unityMaterial));
            }
            return(result);
        }
 protected override Mesh GetMesh(ExportableModel r3AnimatedMesh)
 {
     return(r3AnimatedMesh.GetComponent <MeshFilter>().mesh);
 }
 private static bool IsSkinnedMesh(this ExportableModel m)
 {
     return(m.GetComponent <SkinnedMeshRenderer>() != null);
 }
 private static bool IsChannelParentedMesh(this ExportableModel m)
 {
     return(m.GetComponent <SkinnedMeshRenderer>() == null && m.GetComponent <MeshRenderer>() != null && m.HasParentChannel());
 }
Example #6
0
 protected override Transform[] GetBonesTransforms(ExportableModel r3AnimatedMesh)
 {
     return(r3AnimatedMesh.GetComponent <SkinnedMeshRenderer>().bones);
 }
Example #7
0
 protected override Mesh GetMesh(ExportableModel r3AnimatedMesh)
 {
     return(r3AnimatedMesh.GetComponent <SkinnedMeshRenderer>().sharedMesh);
 }