Unity3D日常开发】(二十七)Unity3D中快速复制场景中的对象的坐标位置,并且粘贴出来

网友投稿 1841 2022-05-30

推荐阅读

CSDN主页

GitHub开源地址

Unity3D插件分享

简书地址

我的个人博客

QQ群:1040082875

一、前言

在开发中,会遇到要复制场景中对象的位置坐标的操作,通常的方法是看着对象的坐标,然后手动打出来坐标。

这种方式,效率会有点低,耽误时间,然后也可以打错,造成位置的偏移。

接下来就介绍如何快速复制坐标位置,并且复制

效果:

二、实现

代码:

复制坐标

using UnityEditor; using UnityEngine; public class CopyObjXYZ : Editor { [UnityEditor.MenuItem("CopyXYZ/CopyXYZ %X")] static void CopyXYZ() { GameObject obj = UnityEditor.Selection.activeGameObject; if (obj != null) { string ret = obj.transform.localPosition.x + "f," + obj.transform.localPosition.y + "f," + obj.transform.localPosition.z + "f"; GUIUtility.systemCopyBuffer = ret; } } }

选中物体之后,使用快捷键 Ctrl+X ,就可以将选中的物体的坐标位置复制下来,然后在要复制的地方Ctrl+V就可以复制出来。。

【Unity3D日常开发】(二十七)Unity3D中快速复制场景中的对象的坐标位置,并且粘贴出来

复制旋转

using UnityEditor; using UnityEngine; public class CopyRotation : Editor { static void CopyRotation() { GameObject obj = UnityEditor.Selection.activeGameObject; if (obj != null) { string ret = obj.transform.localEulerAngles.x + "f," + obj.transform.localEulerAngles.y + "f," + obj.transform.localEulerAngles.z + "f"; GUIUtility.systemCopyBuffer = ret; } } }

transform.localEulerAngles 欧拉角,这个复制出来的数据是物体的Transform组件的Rotation的值

使用transform.localRotation四元数也可以

但是需要transform.localRotation.eulerAngles转成欧拉角

四元数跟欧拉角之间的关系就不在这篇讲了 - -,

三、参考文档

1、[Unity]提供效率,方便策划复制地图布点对象的坐标朝向 贴到excel里。

2、基于团队的持续优化之道

unity

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Django celery6.4
下一篇:⭐博客专家之路(已达成)
相关文章