博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Deme_遥感控制物体移动(涉及遮罩,小摄像机跟随)
阅读量:4364 次
发布时间:2019-06-07

本文共 1561 字,大约阅读时间需要 5 分钟。

using UnityEngine;using System.Collections;using UnityEngine.EventSystems;public class JoyController : MonoBehaviour,IDragHandler,IEndDragHandler {    //摇杆圆盘半径    public float radius = 75f;    //摇杆原始位置    private Vector3 origin;    //玩家的角色控制器    private CharacterController player;    //玩家移动速度    public float speed = 10;    //声明一个方向向量    Vector3 dir;    void Start()    {        //获取当前位置        origin = transform.position;        //找到主角玩家        player = GameObject.FindWithTag ("Player").            GetComponent
(); } void Update() { //玩家移动 player.SimpleMove (new Vector3(dir.x,0,dir.y) * speed * Time.deltaTime); } ///
/// 摇杆拖拽中 /// ///
Event data. public void OnDrag (PointerEventData eventData) { //计算起点位置与当前鼠标位置的距离 float distance = Vector3.Distance (origin, Input.mousePosition); //求方向向量 dir = Input.mousePosition - origin; //如果拖拽在圆盘范围内 if (distance <= radius) { //摇杆随鼠标移动而移动 transform.position = Input.mousePosition; } else { //实际向量 Vector3 real = dir.normalized * radius; //最终摇杆的位置 transform.position = real + origin; } } ///
/// 结束拖拽 /// ///
Event data. public void OnEndDrag (PointerEventData eventData) { dir = Vector3.zero; //回到初始位置 transform.position = origin; }}

要注意的几个位置,添加相应组件。1,脚本挂载在遥感中心点Controller上.2,小摄像头(设置正交)挂为Player子物体跟随玩家移动3,遮罩设置

 

转载于:https://www.cnblogs.com/VR-1024/p/6020960.html

你可能感兴趣的文章
UNITY3D与iOS交互解决方案
查看>>
C#--序列化与反序列化
查看>>
[原]Asp.net替换不同版本的Dll文件碰到的问题以及解决办法.
查看>>
用Fragment制作的Tab页面产生的UI重叠问题
查看>>
LintCode 387: Smallest Difference
查看>>
算法初步——two pointers
查看>>
Java练习题
查看>>
总结get和post区别
查看>>
009-MailUtils工具类模板
查看>>
逗牙搞笑网www.idouya.xin
查看>>
asterisk拨号规则
查看>>
NSMutableDictionary中 setValue和setObject的区别
查看>>
ubunu安装软件的一个错误
查看>>
hibernate配置
查看>>
ORM框架greenDao 2 (用于了解旧版本的使用方法,目前最新版本为3.2.2,使用注释的方式来生成)...
查看>>
解决ios8下coreData没有NSPersistentContainer的问题
查看>>
玩转Android之加速度传感器的使用,模仿微信摇一摇
查看>>
Android 菜单(OptionMenu)大全 建立你自己的菜单
查看>>
Linux驱动开发常用头文件
查看>>
Linux虚机安装配置Tomcat
查看>>