您的位置:首页 > 移动开发 > Unity3D

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

2016-08-02 18:32 726 查看
以下学习内容根据 极客学院 所授内容学习并记录

一、首先创建第一人称

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: