以下學習內容根據 極客學院 所授內容學習並記錄
一、首先創建第一人稱
*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時:
按下E後: