码迷,mamicode.com
首页 > 移动开发 > 详细

unity3d射线控制移动

时间:2015-06-29 22:01:34      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

看看效果图

技术分享

代码:

 1 using UnityEngine;
 2 using System.Collections;
 3 
 4 public class T2 : MonoBehaviour
 5 {
 6 
 7     // Use this for initialization
 8     void Start()
 9     {
10 
11     }
12 
13     //定义射线
14     Ray ray;
15     RaycastHit hit;
16     //是否移动
17     bool isMove;
18     //移动方向
19     Vector3 dir;
20     Vector3 pos;
21 
22     // Update is called once per frame
23     void Update()
24     {
25         //float v = Input.GetAxis("Vertical");
26         //float h = Input.GetAxis("Horizontal");
27         //transform.Translate(transform.forward * v * Time.deltaTime);
28 
29 
30         //transform.Rotate(Vector3.up * h);
31 
32 
33         //鼠标左键按下的时候
34         if (Input.GetMouseButtonDown(0))
35         {
36             //从摄像机发一条射线
37             ray = Camera.main.ScreenPointToRay(Input.mousePosition); ;
38             //如果检测到物体(射线用来检测)
39             if (Physics.Raycast(ray, out hit))
40             {
41                 //将碰撞点的Y值变为transform的Y值
42                 pos = new Vector3(hit.point.x, transform.position.y, hit.point.z);
43 
44 
45                 //hit.point是物体的位置
46                 transform.LookAt(hit.point);
47                 //开始移动
48                 isMove = true;
49                 //求移动方向
50                 //dir = (hit.point - transform.position).normalized;
51 
52                 dir = (pos - transform.position).normalized;
53 
54             }
55         }
56         //如果开始移动
57         if (isMove)
58         {
59             //沿着世界坐标的某一个位置移动
60             transform.Translate(dir * Time.deltaTime * 3, Space.World);
61             //如果距离小于0.5m的时候,停止移动
62             if (Vector3.Distance(transform.position, hit.point) < 0.5f)
63             {
64                 isMove = false;
65             }
66         }
67 
68 
69 
70     }
71 }

 

unity3d射线控制移动

标签:

原文地址:http://www.cnblogs.com/nsky/p/4608482.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!