コード例 #1
0
    override public void OnInspectorGUI()
    {
        serializedObject.Update();
        BoneComponent component = (BoneComponent)target;

        EditorGUILayout.PropertyField(skeletonComponent);

        if (component.skeletonComponent != null)
        {
            String[] bones = new String[component.skeletonComponent.skeleton.Data.Bones.Count + 1];
            bones[0] = "<None>";
            for (int i = 0; i < bones.Length - 1; i++)
            {
                bones[i + 1] = component.skeletonComponent.skeleton.Data.Bones[i].Name;
            }
            Array.Sort <String>(bones);
            int boneIndex = Math.Max(0, Array.IndexOf(bones, boneName.stringValue));

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Bone");
            EditorGUIUtility.LookLikeControls();
            boneIndex = EditorGUILayout.Popup(boneIndex, bones);
            EditorGUILayout.EndHorizontal();

            boneName.stringValue = bones[boneIndex];;
        }

        if (serializedObject.ApplyModifiedProperties() ||
            (Event.current.type == EventType.ValidateCommand && Event.current.commandName == "UndoRedoPerformed")
            )
        {
            component.bone = null;
            component.LateUpdate();
        }
    }
コード例 #2
0
        public void ConvBone(BoneComponent bone)
        {
            if (_currentNode.Components == null)
            {
                _currentNode.Components = new List <SceneComponentContainer>();
            }

            _currentNode.Components.Add(bone);

            // Collect all bones, later, when a WeightComponent is found, we can set all Joints
            _boneContainers.Push(_currentNode);
        }
コード例 #3
0
        public void RenderBone(BoneComponent bone)
        {
            SceneNodeContainer boneContainer = CurrentNode;
            float4x4           transform;

            if (!_boneMap.TryGetValue(boneContainer, out transform))
            {
                _boneMap.Add(boneContainer, _rc.Model);
            }
            else
            {
                _boneMap[boneContainer] = _rc.Model;
            }
        }