2016-8-2 Unity學習筆記二(第一人稱扔球)

以下學習內容根據 極客學院 所授內容學習並記錄

一、首先創建第一人稱

*1.在項目中引入包:Characters
*2.然後將在FirstPersonCharactor中Prefabs裏面的FPSController拖到Hierarchy中,這時候創建了一個第一人稱視角的角色

二、創建小球

*1.創建一個Sphere,命名爲Ball,併爲之添加Rigidbody

三、編寫腳本並添加至FPSController的FirstPersonCharactor中

using UnityEngine;
using System.Collections;

public class PointAndDirection : MonoBehaviour {
    public GameObject ball;
    void Awake(){
        ball = GameObject.Find ("Ball");

    }
    // Use this for initialization
    //void Start () {
    //
    //}

    // Update is called once per frame
    void Update () {
        if (Input.GetKey (KeyCode.Q)) {
            ball.transform.position = transform.TransformPoint (0,0,2);

            ball.transform.parent = transform;
            ball.GetComponent<Rigidbody> ().isKinematic = true;//其中,isKinematic的意思爲“是否動力學”
        }
        if (Input.GetKey (KeyCode.E)) {
            if (ball.transform.parent == this.transform) {
                ball.GetComponent<Rigidbody>().isKinematic = false;
                transform.DetachChildren();//分離所有子物體

                Vector3 camDirection = transform.TransformDirection (0,0,10);
                ball.GetComponent<Rigidbody>().AddForce (camDirection,ForceMode.Impulse);
            }
        }
    }
}

這時,當按下Q鍵時,Ball成爲第一人稱主角的子物體,並放在平行位置;當按下E鍵時,Ball的父物體爲第一人稱主角的父物體,並給予一個方向爲 (0,0,10) 的力,小球則做拋物飛出

按下Q前:
按下Q前

按下Q時:
按下Q時

按下E後:
按下E後

發佈了19 篇原創文章 · 獲贊 17 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章