2016-8-2 Unity学习笔记二(第一人称扔球)

来源:互联网 发布:黑客编程入门 编辑:程序博客网 时间:2024/06/04 19:54

以下学习内容根据 极客学院 所授内容学习并记录

一、首先创建第一人称

*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后

0 0
原创粉丝点击