动态的加载主角
void Awake()
{
GameObject go = (GameObject)Resources.Load("Player");
player = Instantiate<GameObject>(go);
player.transform.position = new Vector3(4.6f, 0, -4.6f);
}
用Easy_touch控制主角旋转
public void MoveJoyStick(Vector2 weizhi)
{
if(weizhi.y!=0||weizhi.x!=0)
{
transform.LookAt(new Vector3(transform.position.x+weizhi.position.x,transform.position.y+weizhi.y,transform.z+weizhi.z));
}
}
网页控制主角移动旋转
void Move()
{
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
rigidbody.MovePosition(transform.position + new Vector3(h, 0, v )* speed * Time.deltaTime);
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hitInfo;
if (Physics.Raycast(ray, out hitInfo, 200))
{
Vector3 target = hitInfo.point;
target.y = transform.position.y;
transform.LookAt(target);
}
}
摄像机跟随主角平滑移动
public class FollowCamera : MonoBehaviour {
public float smooth = 3;
private Transform player;
void Start()
{
//标签找主角
player = GameObject.FindGameObjectWithTag(Tag.player).transform;
}
//固定帧移动效果好
void FixedUpdate()
{
Vector3 targetPos = player.position + new Vector3(0,1,-2);
transform.position = Vector3.Lerp(transform.position,targetPos,smooth*Time.deltaTime);
}
}