u3d 两个同样obj查找子物体
来源:互联网 发布:淘宝2017年大股东是谁 编辑:程序博客网 时间:2024/06/11 03:05
using UnityEngine;using System.Collections;using System.Collections.Generic;using DG.Tweening;public class Test : MonoBehaviour { public GameObject m_tar; public GameObject m_tarShadow; Vector3 m_tarPos = Vector3.zero; Quaternion m_tarQua = Quaternion.identity; Dictionary<Transform, Vector3> m_mapPosReset = new Dictionary<Transform, Vector3>(); Dictionary<Transform, Quaternion> m_mapQuaReset = new Dictionary<Transform, Quaternion>(); Dictionary<Transform, Transform> m_mapTrans = new Dictionary<Transform, Transform>(); // Use this for initialization void Start () { DOTween.Init(); ChildPosInit2(); } // Update is called once per frame void Update () { } void ChildPosInit() { m_tarPos = m_tar.transform.position; m_tarQua = m_tar.transform.rotation; foreach (var render in m_tar.GetComponentsInChildren<Transform>()) { m_mapPosReset[render.transform] = render.transform.position; m_mapQuaReset[render.transform] = render.transform.rotation; } } public void ChildPosResetV1() { m_tar.transform.DOMove(m_tarPos, 0.5f); m_tar.transform.DORotate(m_tarQua.eulerAngles, 0.5f); foreach (var it in m_mapPosReset) { it.Key.DOMove(it.Value, 0.5f); } foreach (var it in m_mapQuaReset) { it.Key.DORotate(it.Value.eulerAngles, 0.5f); } } public void ChildPosReset() { foreach (var it in m_mapTrans) { it.Key.DOMove(it.Value.transform.position, 0.5f); it.Key.DORotate(it.Value.eulerAngles, 0.5f); } } void ChildPosInit2() { foreach (var it in m_tar.GetComponentsInChildren<Transform>()) { if (it != m_tar.transform) { string path = GetParName(it.transform); Debug.Log(path); m_mapTrans[it.transform] = m_tarShadow.transform.FindChild(path); } } } string GetParName(Transform tran) { if (tran.parent == m_tar.transform) { return tran.name; } else { return GetParName(tran.parent) + "/" + tran.name; } }}
注意:子物体不能重名
阅读全文
0 0
- u3d 两个同样obj查找子物体
- u3d DoTween子物体回到原位
- 查找子物体
- U3D子物体和父物体的获得及创建子物体
- 在U3D中查找物体和组件的方式
- 递归查找子物体/获取子物体上组件
- U3D导出obj模型
- Unity根据名称递归查找一个物体的子物体
- 用递归查找所有子物体
- Unity3D检测查找某个子物体
- U3d TextMesh穿透物体
- unity深度查找某个子物体和遍历所有子物体方法
- u3d物体反弹碰撞知识
- U3D切换场景保留物体
- U3D 物体点击被选中
- U3D实现鼠标移动物体
- U3D物体移动方式小结
- 运用递归查找对象下的所有子物体
- Java Script-Lesson01
- 如何利用jqGrid表格方法重新设置caption属性值
- Codeforces Round #418 (Div. 2) C
- Kotlin基础教程-注解
- LeetCode 605.Can Place Flowers
- u3d 两个同样obj查找子物体
- Android控件中TextView及EditText详解
- 2017 四川省赛 D. Dynamic Graph
- node使用express搭建简单web框架并实现文件上传
- VPN之——新增OpenVPN客户端的解决方案
- codeforces——B. An express train to reveries(全排列)
- H5移动开发
- Android控件2
- Java语言的前世今生