コード例 #1
0
        public static void CreateFirstPerson()
        {
            GameObject charObj = GameObject.CreatePrimitive(PrimitiveType.Capsule);

            charObj.name = "First Person Character";
            charObj.transform.position = new Vector3(0, 1, 0);

            Object.DestroyImmediate(charObj.GetComponent <MeshRenderer>());
            Object.DestroyImmediate(charObj.GetComponent <MeshFilter>());

            Rigidbody rb = charObj.AddComponent <Rigidbody>();

            rb.useGravity  = false;
            rb.constraints = RigidbodyConstraints.FreezeRotation;

            GameObject arrow = GameObject.CreatePrimitive(PrimitiveType.Cube);

            arrow.name                    = "Arrow";
            arrow.transform.parent        = charObj.transform;
            arrow.transform.localPosition = new Vector3(0, 1, 1);
            arrow.transform.localScale    = new Vector3(0.2f, 0.2f, 2.0f);

            Object.DestroyImmediate(arrow.GetComponent <Collider>());

            Brain brain = charObj.AddComponent <Brain>();

            brain.channelsType = "CharacterChannels";
            charObj.AddComponent <BasicCharacterController>();

            CharacterMotor motor = charObj.AddComponent <CharacterMotor>();

            motor.rotateMode = CharacterMotor.RotateMode.Control;

            GameObject headObj = new GameObject("Head");

            headObj.transform.parent        = charObj.transform;
            headObj.transform.localPosition = new Vector3(0, 0.5f, 0);
            CameraArm arm = headObj.AddComponent <CameraArm>();

            arm.blocking     = 0;
            arm.targetLength = 0;

            GameObject camObj = new GameObject("Camera");

            camObj.tag = "MainCamera";
            camObj.transform.parent        = headObj.transform;
            camObj.transform.localPosition = Vector3.zero;
            camObj.AddComponent <Camera>();
            camObj.AddComponent <FlareLayer>();
            camObj.AddComponent <AudioListener>();
            camObj.AddComponent <ViewTarget>();

            Selection.activeGameObject = charObj;
        }
コード例 #2
0
        public static void CreateThirdPerson()
        {
            GameObject charObj = GameObject.CreatePrimitive(PrimitiveType.Capsule);

            charObj.name = "Third Person Character";
            charObj.transform.position = new Vector3(0, 1, 0);

            Object.DestroyImmediate(charObj.GetComponent <MeshRenderer>());
            Object.DestroyImmediate(charObj.GetComponent <MeshFilter>());

            Rigidbody rb = charObj.AddComponent <Rigidbody>();

            rb.useGravity  = false;
            rb.constraints = RigidbodyConstraints.FreezeRotation;

            var arrow = CreateArrow(true);

            arrow.transform.parent        = charObj.transform;
            arrow.transform.localPosition = new Vector3(0, 0, 0);

            charObj.AddComponent <StateManager>();
            charObj.AddComponent <BasicCharacterController>();

            CharacterMotor motor = charObj.AddComponent <CharacterMotor>();

            motor.rotateMode = CharacterMotor.RotateMode.Movement;

            GameObject armObj = new GameObject("Camera Arm");

            armObj.transform.parent        = charObj.transform;
            armObj.transform.localPosition = Vector3.zero;
            CameraArm arm = armObj.AddComponent <CameraArm>();

            GameObject camObj = new GameObject("Camera");

            camObj.tag = "MainCamera";
            camObj.transform.parent        = armObj.transform;
            camObj.transform.localPosition = new Vector3(0, 0, -arm.targetLength);
            camObj.AddComponent <Camera>();
            camObj.AddComponent <FlareLayer>();
            camObj.AddComponent <AudioListener>();
            camObj.AddComponent <ViewTarget>();

            Selection.activeGameObject = charObj;
            Undo.RegisterCreatedObjectUndo(charObj, "Create Character");
        }
コード例 #3
0
 // Use this for initialization
 void Start()
 {
     cameraArm  = GetComponentInChildren <CameraArm>();
     playerTank = FindObjectOfType <PlayerTankController>();
 }
コード例 #4
0
ファイル: MovementVR.cs プロジェクト: BigRock-VR/ForTeddy
 private void Start()
 {
     cameraArm = playerRigidBody.GetComponent <CameraArm>();
 }