| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Unity 基础 之 一个点(物体)绕另一个点(物体)旋转的简单封装 -> 正文阅读 |
|
[游戏开发]Unity 基础 之 一个点(物体)绕另一个点(物体)旋转的简单封装 |
Unity 基础 之 一个点(物体)绕另一个点(物体)旋转的简单封装目录 Unity 基础 之 一个点(物体)绕另一个点(物体)旋转的简单封装 一、简单介绍Unity中的一些知识点整理。 本节简单介绍在Unity开发中的,因为项目的开发需要,需要把手机屏幕当做触控板,模拟鼠标移动和点击交互等,竖拿手机,横屏画面显示在眼镜上,所以这里简单需要把手机的操作旋转90度转化一下,这里简单记录一下,场景不一样,可能转换不一样,这里仅供参考学习使用,如果你有新的方式也可以留言,多谢。 二、实现原理1、这里使用 Input.GetMouseButtonDown(0) 、Input.GetMouseButton(0) 、Input.GetMouseButtonUp(0) 相关事件来获取位置相关信息进行处理 2、通过 Quaternion.AngleAxis() 接口进行对应位置旋转转化,得到新的位置 三、注意事项1、使用场景不同,可能需要做适当的屏幕适配 2、Demo 中 的 UI 元素的 Anchors 在左下角 四、效果预览五、实现步骤1、打开 Unity ,新建空工程 2、布置场景,添加两个 Image ,作为 Demo 演示旋转中心,和旋转后的位置显示使用 ? 3、注意两个 Image 的 Anchors 设置为 左下角 4、在工程中添加两个脚本,实现对应逻辑 5、把 TestRotateAround 挂载到场景中,并对应赋值 ? 6、运行场景,效果如上 六、关键代码1、TestRotateAround
2、RotateAroundUtil
七、附加:让一个物体围绕某一点旋转1、方法1:B不动,A挂脚本实现transform的RotateAround(vector3 point, vector3 axis, float angle)函数 例如 A.RotateAround(B.position, Vector3.up,? 30*Time.deltaTime);?? //A绕着B的y轴进行旋转。 2)方法2:A不动,A作为B的子物体,B挂脚本实现自转,然后带着A转,类似于模拟围绕中心天体旋转。 例如:B.Rotate (Vector3.up, 30*Time.deltaTime, Space.Self); //B绕着自身的up方向自转,从而带着A一起转。 旋转的常用方法:基于 Transform 组件下 (1)绕坐标轴旋转 public void Rotate (Vector3 eulerAngles, Space relativeTo = Space.Self); 或者 public void Rotate (float xAngle, float yAngle, float zAngleSpace, relativeTo = Space.Self); 其中relativeTo = Space.Self表示绕自身坐标系旋转,ralativeTo = Space.World表示绕世界坐标系旋转。 ?(2) 饶某个向量旋转 public void Rotate(Vector3 axis, float angle, Space relativeTo); 其中axis为旋转轴方向,angle为旋转角度,relativeTo为参考坐标系,默认为Space.self。此方法的功能是使得GameObject对象在relativeTo坐标系中绕轴向量axis旋转angle度。 (3)绕轴点旋转 public void RotateAround(Vector3 point, Vector3 axis, float angel); 功能是使得GameObject对象绕着point点的axis方向旋转angle度。 参考博客:https://blog.csdn.net/qiaoquan3/article/details/51306514 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 | -2025/2/5 21:55:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |