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

unity 相机选择物体沿射线相机平移到物体周围

2016-10-19 15:32 513 查看
相机选择物体,选中之后,相机会沿射线相机平移到物体周围,这是我一个小伙伴写的,现在把它发表出来,十分感觉小伙伴的支持!

注意:物体必须有collider组件

代码:using UnityEngine;
using System.Collections;
using System;

public class RayToMove : MonoBehaviour
{
Vector3 Target = new Vector3();
private bool NoTarget = true;

public float speed=100;
// Use this for initialization
void Start()
{

}

// Update is called once per frame
void Update()
{
if (Input.GetMouseButton(0)) {
Ray MoveRay = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit RayInf = new RaycastHit();
if (Physics.Raycast(MoveRay, out RayInf))
{
if (RayInf.collider.name != "Plane")//设置选中名为plane的地形不移动
{
Target = RayInf.point;
NoTarget = false;
}
}
}

MoveTo(Target);
}

private void MoveTo(Vector3 target)
{
if (!NoTarget)
{
Vector3 v1 = target - transform.position;
transform.position += v1.normalized * speed * Time.deltaTime;
if (Vector3.Distance(target, transform.position) <= 5) {
NoTarget = true;
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity