コード例 #1
0
ファイル: WorldBody.cs プロジェクト: yazici/FRONTIERS
        public virtual void Awake()
        {                       //we're guaranteed to have this
            rb = gameObject.GetOrAdd <Rigidbody> ();
            rb.interpolation = RigidbodyInterpolation.None;
            rb.useGravity    = false;
            rb.isKinematic   = true;

            gameObject.layer = Globals.LayerNumBodyPart;
            NObject          = gameObject.GetComponent <TNObject> ();
            MovementPivot    = transform;
            if (RotationPivot == null)
            {
                RotationPivot = MovementPivot;
            }
            MovementPivot.localRotation = Quaternion.identity;
            RotationPivot.localRotation = Quaternion.identity;
            // _worldBodyNetworkUpdateTime = NetworkManager.WorldBodyUpdateRate;
            // _bodyAnimatorNetworkUpdateTime = NetworkManager.BodyAnimatorUpdateRate;

            Animator          = gameObject.GetComponent <BodyAnimator> ();
            Animator.animator = gameObject.GetComponent <Animator> ();
            if (Animator.animator == null)
            {
                Animator.animator = RotationPivot.gameObject.GetComponent <Animator> ();
            }
            Transforms = gameObject.GetComponent <BodyTransforms> ();
            Sounds     = gameObject.GetComponent <BodySounds> ();
            if (Sounds != null)
            {
                Sounds.Animator = Animator;
            }

            SetVisible(false);
            IgnoreCollisions(true);
        }
コード例 #2
0
ファイル: CharacterTools.cs プロジェクト: yazici/FRONTIERS
    static void AudioFindBodyTransforms()
    {
        foreach (GameObject selectedObject in Selection.gameObjects)
        {
            BodyTransforms bodyTransforms = selectedObject.GetComponent <BodyTransforms> ();

            bodyTransforms.Hips = findChildSlowly(bodyTransforms.transform, "Pelvis");
            bodyTransforms.Head = findChildSlowly(bodyTransforms.transform, "Head");
            if (bodyTransforms.Head != null)
            {
                bodyTransforms.HeadTop = bodyTransforms.Head.gameObject.FindOrCreateChild("HeadTop").transform;
            }
            bodyTransforms.Chest     = findChildSlowly(bodyTransforms.transform, "Spine3");
            bodyTransforms.FaceJaw   = findChildSlowly(bodyTransforms.transform, "_jaw");
            bodyTransforms.Finger1L  = findChildSlowly(bodyTransforms.transform, "LDigit21");
            bodyTransforms.Finger2L  = findChildSlowly(bodyTransforms.transform, "LDigit31");
            bodyTransforms.Finger3L  = findChildSlowly(bodyTransforms.transform, "LDigit41");
            bodyTransforms.Finger4L  = findChildSlowly(bodyTransforms.transform, "LDigit51");
            bodyTransforms.ThumbL    = findChildSlowly(bodyTransforms.transform, "LDigit11");
            bodyTransforms.Finger1R  = findChildSlowly(bodyTransforms.transform, "RDigit21");
            bodyTransforms.Finger2R  = findChildSlowly(bodyTransforms.transform, "RDigit31");
            bodyTransforms.Finger3R  = findChildSlowly(bodyTransforms.transform, "RDigit41");
            bodyTransforms.Finger4R  = findChildSlowly(bodyTransforms.transform, "RDigit51");
            bodyTransforms.ThumbR    = findChildSlowly(bodyTransforms.transform, "RDigit11");
            bodyTransforms.FootL     = findChildSlowly(bodyTransforms.transform, "LFoot");
            bodyTransforms.FootR     = findChildSlowly(bodyTransforms.transform, "RFoot");
            bodyTransforms.KneeL     = findChildSlowly(bodyTransforms.transform, "LCalf");
            bodyTransforms.KneeR     = findChildSlowly(bodyTransforms.transform, "RCalf");
            bodyTransforms.LegL      = findChildSlowly(bodyTransforms.transform, "LThigh");
            bodyTransforms.LegR      = findChildSlowly(bodyTransforms.transform, "RThigh");
            bodyTransforms.ElbowL    = findChildSlowly(bodyTransforms.transform, "LForearm");
            bodyTransforms.ElbowR    = findChildSlowly(bodyTransforms.transform, "RForearm");
            bodyTransforms.ShoulderL = findChildSlowly(bodyTransforms.transform, "LUpperarm");
            bodyTransforms.ShoulderR = findChildSlowly(bodyTransforms.transform, "RUpperarm");
            bodyTransforms.WristL    = findChildSlowly(bodyTransforms.transform, "LPalm");
            bodyTransforms.WristR    = findChildSlowly(bodyTransforms.transform, "RPalm");
            bodyTransforms.Neck      = findChildSlowly(bodyTransforms.transform, "Neck");
            bodyTransforms.Hips      = findChildSlowly(bodyTransforms.transform, "Hips");

            SkinnedMeshRenderer[] meshRenderers = Selection.activeGameObject.transform.GetComponentsInChildren <SkinnedMeshRenderer> ();
            CharacterBody         cb            = Selection.activeGameObject.GetComponent <CharacterBody> ();
            cb.Renderers.Clear();
            cb.Renderers.AddRange(meshRenderers);

            Vector3 headTopPosition = bodyTransforms.HeadTop.position;
            headTopPosition.y = 0f;
            foreach (Renderer renderer in cb.Renderers)
            {
                if (renderer.bounds.extents.y > headTopPosition.y)
                {
                    headTopPosition.y = renderer.bounds.extents.y;
                }
            }
            bodyTransforms.HeadTop.position = headTopPosition;
        }
    }