Exemplo n.º 1
0
    public void RegisterPHSolidBehaviour(PHSolidBehaviour phSolid)
    {
        phSolidBehaviours.Add(phSolid);

        // スキンメッシュ描画時のカクつきを防ぐため、ツリー深さでソートしておく。
        phSolidBehaviours.Sort((a, b) => a.treeDepth.CompareTo(b.treeDepth));
    }
Exemplo n.º 2
0
    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);
        }
    }
Exemplo n.º 3
0
    // -- 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);
    }