【Unity,C#】Unity重置游戏对象transform的插件
Unity重置游戏对象transform的插件
Why To Make It
有时候我们对对象进行操作, 但是需要将他进行还原, 这时候一个个改他的属性十分的麻烦
How To Solve
代码
using UnityEditor;using UnityEngine;public class NewBehaviourScript{ /// /// 添加自定义快捷键, 并绑定alt_R作为快捷键 /// 将选定对象移动到父对象初始位置或世界原点, 重置transform中的属性 /// [MenuItem("GameObject/Reset Transform &r")] public static void reset() { //获取选定的游戏对象 GameObject[] selectObjs = Selection.gameObjects; foreach (GameObject selectObj in selectObjs) { Undo.RegisterCompleteObjectUndo(selectObj.transform, "Reset GameObj To Origin."); //初始化属性 Vector3 pos = Vector3.zero; Quaternion rot = Quaternion.identity; if (selectObj.transform.parent != null) { pos += selectObj.transform.parent.position; rot *= selectObj.transform.parent.rotation; } selectObj.transform.position = pos; selectObj.transform.rotation = rot; selectObj.transform.localScale = Vector3.one; } }}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~