public void SetRenderer() { bool buseParts = false; for (int i = 0; i < m_PartTblId.Length; ++i) { if (!string.IsNullOrEmpty(m_PartTblId[i])) { buseParts = true; } } if (buseParts == false) { EACharacterInfo characterInfo = transform.GetComponent <EACharacterInfo>(); if (characterInfo != null) { renderers = characterInfo.renderers; } } else { renderers = transform.GetComponentsInChildren <Renderer>(); } }
/// <summary> /// skeleton setting /// </summary> public void SetSkeleton() { if (transformList.Count <= 0) { EACharacterInfo characterInfo = transform.GetComponent <EACharacterInfo>(); if (characterInfo != null) { Transform[] transforms = characterInfo.Bones; string[] BoneNames = characterInfo.BoneNames; for (int i = 0; i < transforms.Length; ++i) { int key = CRC32.GetHashForAnsi(BoneNames[i]); transformList.Add(key, transforms[i]); } } else { Debug.LogError("SetSkeleton - EACharacterInfo is null : " + gameObject.name); Transform[] transforms = transform.GetComponentsInChildren <Transform>(); for (int i = 0; i < transforms.Length; ++i) { int key = CRC32.GetHashForAnsi(transforms[i].name); Transform value = null; if (!transformList.TryGetValue(key, out value)) { transformList.Add(key, transforms[i]); } } } } Transform mesh = GetTransform("mesh"); if (mesh != null) { mesh.transform.parent = null; GameObject.Destroy(mesh.gameObject); } GameObject _mesh = EAFrameUtil.AddChild(gameObject, "mesh"); if (_mesh != null) { AddTransform("mesh", _mesh.transform); } }