public bool Bake(apModifiedBone srcModBone, apPortrait portrait) { _portrait = portrait; _meshGroupID_Bone = srcModBone._meshGropuUniqueID_Bone; apOptTransform meshGroupTransform = portrait.GetOptTransformAsMeshGroup(_meshGroupID_Bone); if (meshGroupTransform == null) { Debug.LogError("[ModBone] Bake 실패 : 찾을 수 없는 OptTransform [" + _meshGroupID_Bone + "]"); return(false); } _transformUniqueID = meshGroupTransform._transformID; _meshGroup_Bone = meshGroupTransform; _boneID = srcModBone._boneID; _bone = meshGroupTransform.GetBone(_boneID); if (_bone == null) { Debug.LogError("[ModBone] Bake 실패 : 찾을 수 없는 Bone [" + _boneID + "]"); return(false); } _transformMatrix = new apMatrix(srcModBone._transformMatrix); return(true); }
public bool Link(apPortrait portrait, apCache <apOptTransform> cache) { _bone = null; //Cache를 통해서 일단 MeshGroup에 해당하는 optTransform을 찾자 apOptTransform meshGroup = null; if (cache.IsContain(_meshGroupID)) { meshGroup = cache.Get(_meshGroupID); } else { meshGroup = portrait.GetOptTransformAsMeshGroup(_meshGroupID); if (meshGroup == null) { Debug.LogError("VertRig Bake 실패 : MeshGroup을 찾을 수 없다. [" + _meshGroupID + "]"); return(false); } //캐시에 담고 cache.Add(_meshGroupID, meshGroup); } //본을 찾자 _bone = meshGroup.GetBone(_boneID); if (_bone == null) { Debug.LogError("VertRig Bake 실패 : Bone을 찾을 수 없다. [" + _boneID + "]"); return(false); } return(true); }
public void Link(apOptTransform targetOptTransform) { _parentOptTransform = targetOptTransform; if (_parentOptTransform == null) { //?? Debug.LogError("[" + transform.name + "] OptBone의 ParentOptTransform이 Null이다. [" + _meshGroupID + "]"); _IKTargetBone = null; _IKNextChainedBone = null; _IKHeaderBone = null; //LinkBoneChaining(); return; } _IKTargetBone = _parentOptTransform.GetBone(_IKTargetBoneID); _IKNextChainedBone = _parentOptTransform.GetBone(_IKNextChainedBoneID); _IKHeaderBone = _parentOptTransform.GetBone(_IKHeaderBoneID); //LinkBoneChaining(); }
public bool Link(apPortrait portrait) { _meshGroup = portrait.GetOptTransformAsMeshGroup(_meshGroupID); if (_meshGroup == null) { Debug.LogError("VertRig Bake 실패 : MeshGroup을 찾을 수 없다. [" + _meshGroupID + "]"); return(false); } _bone = _meshGroup.GetBone(_boneID); if (_bone == null) { Debug.LogError("VertRig Bake 실패 : Bone을 찾을 수 없다. [" + _boneID + "]"); return(false); } return(true); }