我在屏幕上找到了一个对象。一开始它位于 x=0,y=0,z=0 之后它移动到不同的位置。我只是想确保该对象不会移动到用户不可见的位置(它是玩家主角本身,我既不希望玩家能够从他当前的位置返回,也不希望玩家跟随他前进)。
你能解释一下我需要在这里做什么吗?
using UnityEngine;
using System.Collections;
public class NewGameScript : MonoBehaviour
{
float t=0f;
float v=20f;
float dist;
// Use this for initialization
void Start ()
{
}
void Update ()
{
if(Input.GetKeyUp("up"))
{
if(t<0.1)
{
t +=Time.deltaTime*0.07f;
}
dist=t*v*0.5f;
gameObject.transform.position +=transform.forward*dist;
}
else if(Input.GetKeyUp("down"))
{
if(t>-0.1)
{
t -=Time.deltaTime*0.07f;
}
dist=t*v*0.5f;
gameObject.transform.position +=transform.forward*dist;
}
else if(Input.GetKey("left"))
{
transform.Rotate(0,-0.9f*(dist+1), 0);
gameObject.transform.position +=transform.forward*0.1f*(dist+1);
}
else if(Input.GetKey("right"))
{
transform.Rotate( 0,0.9f*(dist+1),0);
gameObject.transform.position +=transform.forward*0.1f*(dist+1);
}
}
}
本教程有一个示例,说明如何实现跟随玩家的相机。
http://unity3d.com/support/resources/tutorials/3d-platform-game.html
我想你在问:
如果屏幕上的玩家角色四处移动,您希望坐在电脑前的人始终能够看到它。为此,您需要设置相机以跟随该对象。
以下是一些可以帮助您入门的链接:
http://unity3d.com/support/documentation/Components/class-Camera.html
http://unity3d.com/support/documentation/ScriptReference/Camera.html