“复制100个物体的坐标的值(xyz)和旋转的值(xyz)你需要几次操作?----600次”,“我只需要2次”

简介: 在开发中,会遇到要复制场景中对象的位置坐标的操作,通常的方法是分别复制物体的xyz的值,然后再粘贴,这样效率非常低,耽误时间,也可以复制错误,造成位置的偏移。接下来就介绍如何快速复制坐标位置,并且复制

一、前言

在开发中,会遇到要复制场景中对象的位置坐标的操作,通常的方法是分别复制物体的xyz的值,然后再粘贴,这样效率非常低,耽误时间,也可以复制错误,造成位置的偏移。

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

效果:

网络异常,图片无法展示
|


二、实现

代码:复制坐标

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就可以复制出来。。

复制旋转

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、基于团队的持续优化之道



相关文章
|
7月前
关于RoPE旋转位置编码的理解
关于RoPE旋转位置编码的理解
115 1
|
7月前
|
JavaScript 前端开发 流计算
使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理
使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理
|
7月前
|
存储 算法 Java
给定一组棋子的坐标,判断是否可以互相攻击。如果两个棋子的横纵坐标任意一个相同,则认为它们可以互相攻击。(提示:使用哈希表)
给定一组棋子的坐标,判断是否可以互相攻击。如果两个棋子的横纵坐标任意一个相同,则认为它们可以互相攻击。(提示:使用哈希表)
50 0
|
7月前
|
Python
python输入位置的坐标(即经纬度),计算两点的距离结果保留两位
python输入位置的坐标(即经纬度),计算两点的距离结果保留两位
|
7月前
|
算法 小程序 API
uniapp显示当前位置与所传入位置的距离
uniapp显示当前位置与所传入位置的距离
394 0
|
C++ 计算机视觉
C++使用opencv判断一个点是否在多边形之内
C++使用opencv判断一个点是否在多边形之内
200 0
|
人机交互
爱旋不旋--旋转字符串
字符串左旋 实现一个函数,可以左旋字符串中的k个字符。 例如: ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB
124 0
爱旋不旋--旋转字符串
WORD出错:绕排时,字太靠近形状
WORD出错:绕排时,字太靠近形状
109 0
WORD出错:绕排时,字太靠近形状
|
C#
GeoJSON C#判断某一点是否在某一区域范围之内
GeoJSON是一种对各种地理数据结构进行编码的格式,基于Javascript对象表示法的地理空间信息数据交换格式。GeoJSON对象可以表示几何、特征或者特征集合。GeoJSON支持下面几何类型:点、线、面、多点、多线、多面和几何集合。
2263 0
|
C#
用动画的方式画出任意的路径(直线、曲线、折现)
原文:用动画的方式画出任意的路径(直线、曲线、折现) 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:http://blog.csdn.net/wpwalter/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
1200 0