public void RegisterPHSolidBehaviour(PHSolidBehaviour phSolid) { phSolidBehaviours.Add(phSolid); // スキンメッシュ描画時のカクつきを防ぐため、ツリー深さでソートしておく。 phSolidBehaviours.Sort((a, b) => a.treeDepth.CompareTo(b.treeDepth)); }
public void OnSceneGUI() { PHSolidBehaviour pHSolidBehaviour = (PHSolidBehaviour)target; // ----- ----- ----- ----- ----- // Fixed Solid Position Handle if (Application.isPlaying && pHSolidBehaviour.fixedSolid) { Tools.current = Tool.None; pHSolidBehaviour.fixedSolidPosition = Handles.PositionHandle(pHSolidBehaviour.fixedSolidPosition, Quaternion.identity); pHSolidBehaviour.fixedSolidRotation = Handles.RotationHandle(pHSolidBehaviour.fixedSolidRotation, pHSolidBehaviour.fixedSolidPosition); } }
// -- Sprオブジェクトの構築を行う public override ObjectIf Build() { PHIKEndEffectorIf phIKee = phScene.CreateIKEndEffector((PHIKEndEffectorDesc)desc); phIKee.SetName("ike:" + gameObject.name); PHSolidBehaviour solidBehaviour = gameObject.GetComponent <PHSolidBehaviour>(); if (solidBehaviour != null && solidBehaviour.sprObject != null) { phIKee.AddChildObject(solidBehaviour.sprObject); } phSceneBehaviour.RegisterPHIKEndEffectorBehaviour(this); return(phIKee); }