Unity3d 通过射线使物体移动
来源:互联网 发布:js onclick this 编辑:程序博客网 时间:2024/06/08 06:06
实现:
using System.Collections;using System.Collections.Generic;using UnityEngine;public class RayTest : MonoBehaviour { //设置射线在Plane上的目标点target private Vector3 target;// Use this for initializationvoid Start () { //初始化目标点与自身的点重合 target = transform.position;}// Update is called once per framevoid Update () { //当点击鼠标左键的时候创建一条射线 if(Input.GetMouseButton(0)) { //定义射线 Ray m_ray; //保存碰撞信息 RaycastHit m_hit; //创建一条从摄像机发出经过屏幕上的鼠标点的一条射线 m_ray = Camera.main.ScreenPointToRay(Input.mousePosition); //判断射线是否碰撞到物体 if(Physics.Raycast(m_ray,out m_hit)) { //判断碰撞到的是不是Plane if(m_hit.transform.name=="Plane") { //把目标点target设置为m_hit.point,//并使物体要处于Plane上所以Y轴为0.5f target = new Vector3(m_hit.point.x, 0.5f, m_hit.point.z); } } } Move(target);} //移动方法 void Move(Vector3 target) { if (Vector3.Distance(transform.position, target) > 0.1f) { transform.position = Vector3.Lerp(transform.position, target,Time.deltaTime); } //如果物体的位置和目标点的位置距离小于 0.1时直接等于目标点 else transform.position = target; }}
阅读全文
0 0
- Unity3d 通过射线使物体移动
- 通过射线选择物体
- unity3d物体移动
- Unity3D控制物体移动
- 鼠标利用射线控制物体移动
- Unity通过射线快速变化物体颜色
- Unity3D【脚本】点击物体后屏幕放大 - (射线、坐标的转换、摄像机的移动和改变属性)
- unity3d鼠标移动、旋转物体
- Unity3d 物体跟随鼠标移动
- Unity3D 物体移动方式总结
- Unity3D 物体移动方式总结
- Unity3D物体移动方式总结
- Unity3D 物体移动方式总结
- Unity3D 物体移动方式总结
- Unity3D 物体移动方式总结
- Unity3D 物体移动方式总结
- unity3d--物体移动方式总结
- unity3d 物体多种移动方式
- HTTP协议详解
- Git创建新分支并和本地新建的同名分支关联
- 实模式和保护模式区别及寻址方式
- 浅尝Java中RSA加解密
- Tensorflow基础
- Unity3d 通过射线使物体移动
- JS中构造函数与new操作符
- Inno setup 界面设计入门(一)环境准备
- 数据库中索引和视图
- The C Programming Language 练习题3-5
- 全排列
- Intent的几种FLAG介绍
- HDU5157-Harry and magic string
- 三明治图(sandwich graph)