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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章