public void Read(AssetReader reader) { AvatarSkeleton.Read(reader); AvatarSkeletonPose.Read(reader); if (HasDefaultPose(reader.Version)) { DefaultPose.Read(reader); SkeletonNameIDArray = reader.ReadUInt32Array(); } Human.Read(reader); HumanSkeletonIndexArray = reader.ReadInt32Array(); if (HasHumanSkeletonReverseIndexArray(reader.Version)) { HumanSkeletonReverseIndexArray = reader.ReadInt32Array(); } else { HumanSkeletonReverseIndexArray = new int[AvatarSkeleton.Instance.Node.Length]; for (int i = 0; i < AvatarSkeleton.Instance.Node.Length; i++) { HumanSkeletonReverseIndexArray[i] = HumanSkeletonIndexArray.IndexOf(i); } } RootMotionBoneIndex = reader.ReadInt32(); RootMotionBoneX.Read(reader); if (HasRootMotionSkeleton(reader.Version)) { RootMotionSkeleton.Read(reader); RootMotionSkeletonPose.Read(reader); RootMotionSkeletonIndexArray = reader.ReadInt32Array(); } }
public void Read(AssetReader reader) { AvatarSkeleton.Read(reader); AvatarSkeletonPose.Read(reader); if (IsReadDefaultPose(reader.Version)) { DefaultPose.Read(reader); m_skeletonNameIDArray = reader.ReadUInt32Array(); } Human.Read(reader); m_humanSkeletonIndexArray = reader.ReadInt32Array(); if (IsReadHumanSkeletonReverseIndexArray(reader.Version)) { m_humanSkeletonReverseIndexArray = reader.ReadInt32Array(); } else { m_humanSkeletonReverseIndexArray = new int[AvatarSkeleton.Instance.Node.Count]; for (int i = 0; i < AvatarSkeleton.Instance.Node.Count; i++) { m_humanSkeletonReverseIndexArray[i] = m_humanSkeletonIndexArray.IndexOf(i); } } RootMotionBoneIndex = reader.ReadInt32(); RootMotionBoneX.Read(reader); if (IsReadRootMotionSkeleton(reader.Version)) { RootMotionSkeleton.Read(reader); RootMotionSkeletonPose.Read(reader); m_rootMotionSkeletonIndexArray = reader.ReadInt32Array(); } }
// Use this for initialization void Start() { if (avatarSkeleton == null) { // avatarSkeleton = GameObject.FindObjectOfType<AvatarSkeleton>(); avatarSkeleton = gameObject.GetComponent <AvatarSkeleton>(); if (avatarSkeleton == null) { print("TrackAvatar: No avatar Skeleton component. Attempting to add."); avatarSkeleton = gameObject.AddComponent <AvatarSkeleton>() as AvatarSkeleton; } if (avatarSkeleton == null) { print("TrackAvatar: No avatar Skeleton"); // return new EnableString("Invalid tracking data. No avatar Skeleton"); } } if (animatorComponent == null) { animatorComponent = gameObject.GetComponent <Animator>(); } moving = false; initted = true; }
public void Read(EndianStream stream) { AvatarSkeleton.Read(stream); AvatarSkeletonPose.Read(stream); DefaultPose.Read(stream); m_skeletonNameIDArray = stream.ReadUInt32Array(); Human.Read(stream); m_humanSkeletonIndexArray = stream.ReadInt32Array(); m_humanSkeletonReverseIndexArray = stream.ReadInt32Array(); RootMotionBoneIndex = stream.ReadInt32(); RootMotionBoneX.Read(stream); RootMotionSkeleton.Read(stream); RootMotionSkeletonPose.Read(stream); m_rootMotionSkeletonIndexArray = stream.ReadInt32Array(); }
private void Awake() { // _vrik = GetComponentInChildren<VRIK>(true); _avatarSkeleton = GetComponent <AvatarSkeleton>(); _controller.TriggerClicked += OnTriggetClickedHandler; _initHeadRot = _headTrans.rotation; _initLeftHandRot = _leftHandTrans.rotation; _initRightHandRot = _rightHandTrans.rotation; if (_useFootIK) { _initLeftFootRot = _leftFootTrans.rotation; _initRightFootRot = _rightFootTrasn.rotation; } }
public YAMLNode ExportYAML(IAssetsExporter exporter) { #warning TODO: values acording to read version (current 2017.3.0f3) YAMLMappingNode node = new YAMLMappingNode(); node.AddSerializedVersion(GetSerializedVersion(exporter.Version)); node.Add("m_AvatarSkeleton", AvatarSkeleton.ExportYAML(exporter)); node.Add("m_AvatarSkeletonPose", AvatarSkeletonPose.ExportYAML(exporter)); node.Add("m_DefaultPose", DefaultPose.ExportYAML(exporter)); node.Add("m_SkeletonNameIDArray", IsReadDefaultPose(exporter.Version) ? SkeletonNameIDArray.ExportYAML(true) : YAMLSequenceNode.Empty); node.Add("m_Human", Human.ExportYAML(exporter)); node.Add("m_HumanSkeletonIndexArray", HumanSkeletonIndexArray.ExportYAML(true)); node.Add("m_HumanSkeletonReverseIndexArray", IsReadHumanSkeletonReverseIndexArray(exporter.Version) ? HumanSkeletonReverseIndexArray.ExportYAML(true) : YAMLSequenceNode.Empty); node.Add("m_RootMotionBoneIndex", RootMotionBoneIndex); node.Add("m_RootMotionBoneX", RootMotionBoneX.ExportYAML(exporter)); node.Add("m_RootMotionSkeleton", RootMotionSkeleton.ExportYAML(exporter)); node.Add("m_RootMotionSkeletonPose", RootMotionSkeletonPose.ExportYAML(exporter)); node.Add("m_RootMotionSkeletonIndexArray", IsReadRootMotionSkeleton(exporter.Version) ? RootMotionSkeletonIndexArray.ExportYAML(true) : YAMLSequenceNode.Empty); return(node); }
public YAMLNode ExportYAML(IExportContainer container) { #warning TODO: values acording to read version (current 2017.3.0f3) YAMLMappingNode node = new YAMLMappingNode(); node.AddSerializedVersion(GetSerializedVersion(container.Version)); node.Add("m_AvatarSkeleton", AvatarSkeleton.ExportYAML(container)); node.Add("m_AvatarSkeletonPose", AvatarSkeletonPose.ExportYAML(container)); node.Add("m_DefaultPose", GetDefaultPose(container.Version).ExportYAML(container)); node.Add("m_SkeletonNameIDArray", GetSkeletonNameIDArray(container.Version).ExportYAML(true)); node.Add("m_Human", Human.ExportYAML(container)); node.Add("m_HumanSkeletonIndexArray", HumanSkeletonIndexArray.ExportYAML(true)); node.Add("m_HumanSkeletonReverseIndexArray", GetHumanSkeletonReverseIndexArray(container.Version).ExportYAML(true)); node.Add("m_RootMotionBoneIndex", RootMotionBoneIndex); node.Add("m_RootMotionBoneX", RootMotionBoneX.ExportYAML(container)); node.Add("m_RootMotionSkeleton", RootMotionSkeleton.ExportYAML(container)); node.Add("m_RootMotionSkeletonPose", RootMotionSkeletonPose.ExportYAML(container)); node.Add("m_RootMotionSkeletonIndexArray", GetRootMotionSkeletonIndexArray(container.Version).ExportYAML(true)); return(node); }
public YAMLNode ExportYAML(IExportContainer container) { YAMLMappingNode node = new YAMLMappingNode(); node.AddSerializedVersion(ToSerializedVersion(container.ExportVersion)); node.Add(AvatarSkeletonName, AvatarSkeleton.ExportYAML(container)); node.Add(AvatarSkeletonPoseName, AvatarSkeletonPose.ExportYAML(container)); node.Add(DefaultPoseName, GetDefaultPose(container.Version).ExportYAML(container)); node.Add(SkeletonNameIDArrayName, GetSkeletonNameIDArray(container.Version).ExportYAML(true)); node.Add(HumanName, Human.ExportYAML(container)); node.Add(HumanSkeletonIndexArrayName, HumanSkeletonIndexArray.ExportYAML(true)); node.Add(HumanSkeletonReverseIndexArrayName, HumanSkeletonReverseIndexArray.ExportYAML(true)); node.Add(RootMotionBoneIndexName, RootMotionBoneIndex); node.Add(RootMotionBoneXName, RootMotionBoneX.ExportYAML(container)); node.Add(RootMotionSkeletonName, RootMotionSkeleton.ExportYAML(container)); node.Add(RootMotionSkeletonPoseName, RootMotionSkeletonPose.ExportYAML(container)); node.Add(RootMotionSkeletonIndexArrayName, GetRootMotionSkeletonIndexArray(container.Version).ExportYAML(true)); return(node); }
public YAMLNode ExportYAML() { YAMLMappingNode node = new YAMLMappingNode(); node.AddSerializedVersion(SerializedVersion); node.Add("m_AvatarSkeleton", AvatarSkeleton.ExportYAML()); node.Add("m_AvatarSkeletonPose", AvatarSkeletonPose.ExportYAML()); node.Add("m_DefaultPose", DefaultPose.ExportYAML()); node.Add("m_SkeletonNameIDArray", SkeletonNameIDArray.ExportYAML(true)); node.Add("m_Human", Human.ExportYAML()); node.Add("m_HumanSkeletonIndexArray", HumanSkeletonIndexArray.ExportYAML(true)); node.Add("m_HumanSkeletonReverseIndexArray", HumanSkeletonReverseIndexArray.ExportYAML(true)); #warning other values crash Unity. Why? node.Add("m_RootMotionBoneIndex", -1 /*RootMotionBoneIndex*/); node.Add("m_RootMotionBoneX", RootMotionBoneX.ExportYAML()); node.Add("m_RootMotionSkeleton", RootMotionSkeleton.ExportYAML()); node.Add("m_RootMotionSkeletonPose", RootMotionSkeletonPose.ExportYAML()); node.Add("m_RootMotionSkeletonIndexArray", RootMotionSkeletonIndexArray.ExportYAML(true)); return(node); }
//OLD STUFF // Transform m_Target; // public Transform target { get { return m_Target; } set { m_Target = value; } } // int m_SyncLevel = 0; // private GameObject bodyPrefab; // private AvatarController avatarController; // The body root node // protected Transform bodyRoot; public static void GetAvatarSkeleton(GameObject mygameObject, ref AvatarSkeleton avatarSkeleton) { if (avatarSkeleton == null) { // avatarSkeleton = GameObject.FindObjectOfType<AvatarSkeleton>(); avatarSkeleton = mygameObject.GetComponent <AvatarSkeleton>(); if (avatarSkeleton == null) { print("AvatarSkeleton: No avatar Skeleton component. Attempting to add."); avatarSkeleton = mygameObject.AddComponent <AvatarSkeleton>() as AvatarSkeleton; } if (avatarSkeleton == null) { print("TrackAvatar: No avatar Skeleton could be added"); } else { print("TrackAvatar: Skeleton found."); } } }
// Use this for initialization void Awake() { /* switch (PlayerPrefs.GetString("TrackAvatar")) * { * case "onTick": * Tracker.Instance.AddTickModule(new TrackerModule("Avatar Skeleton", skeletonData)); * break; * case "onEvent": * TrackModuleOnEvent(new TrackerModule("Avatar Skeleton", skeletonData)); * break; * default: * TrackModuleOnEvent(new TrackerModule("Avatar Skeleton", skeletonData)); * break; * }*/ if (avatarSkeleton == null) { // avatarSkeleton = GameObject.FindObjectOfType<AvatarSkeleton>(); avatarSkeleton = gameObject.GetComponent <AvatarSkeleton>(); if (avatarSkeleton == null) { print("TrackAvatar: No avatar Skeleton component. Attempting to add."); avatarSkeleton = gameObject.AddComponent <AvatarSkeleton>() as AvatarSkeleton; } if (avatarSkeleton == null) { print("TrackAvatar: No avatar Skeleton"); // return new EnableString("Invalid tracking data. No avatar Skeleton"); } else { print("TrackAvatar: Skeleton found."); } // bodyPrefab = avatarSkeleton.gameObject; } // int playerIndex = avatarSkeleton.playerIndex; Tracker.Instance.AddTickModule(new TrackerModule("Avatar Skeleton", skeletonData)); }
public void Read(AssetStream stream) { AvatarSkeleton.Read(stream); AvatarSkeletonPose.Read(stream); if (IsReadDefaultPose(stream.Version)) { DefaultPose.Read(stream); m_skeletonNameIDArray = stream.ReadUInt32Array(); } Human.Read(stream); m_humanSkeletonIndexArray = stream.ReadInt32Array(); if (IsReadHumanSkeletonReverseIndexArray(stream.Version)) { m_humanSkeletonReverseIndexArray = stream.ReadInt32Array(); } RootMotionBoneIndex = stream.ReadInt32(); RootMotionBoneX.Read(stream); if (IsReadRootMotionSkeleton(stream.Version)) { RootMotionSkeleton.Read(stream); RootMotionSkeletonPose.Read(stream); m_rootMotionSkeletonIndexArray = stream.ReadInt32Array(); } }
public void Read(AssetReader reader) { AvatarSkeleton.Read(reader); AvatarSkeletonPose.Read(reader); if (IsReadDefaultPose(reader.Version)) { DefaultPose.Read(reader); m_skeletonNameIDArray = reader.ReadUInt32Array(); } Human.Read(reader); m_humanSkeletonIndexArray = reader.ReadInt32Array(); if (IsReadHumanSkeletonReverseIndexArray(reader.Version)) { m_humanSkeletonReverseIndexArray = reader.ReadInt32Array(); } RootMotionBoneIndex = reader.ReadInt32(); RootMotionBoneX.Read(reader); if (IsReadRootMotionSkeleton(reader.Version)) { RootMotionSkeleton.Read(reader); RootMotionSkeletonPose.Read(reader); m_rootMotionSkeletonIndexArray = reader.ReadInt32Array(); } }
// Use this for initialization void Start() { // jointDOF = new Vector3[] { }; jointNames = new string[] { "Neck_Flexion", "Neck_LateralFlexion", "L_Shoulder_Flexion", "L_Shoulder_Abduction", "L_Shoulder_HorizontalAbduction", "L_Elbow_Flexion", "R_Shoulder_Flexion", "R_Shoulder_Abduction", "R_Shoulder_HorizontalAbduction", "R_Elbow_Flexion", "L_Hip_Flexion", "L_Hip_Abduction", "L_Hip_Rotation", "R_Hip_Flexion", "R_Hip_Abduction", "R_Hip_Rotation", "R_Knee_Flexion", "L_Knee_Flexion", "Spine_Flexion", "Spine_LateralFlexion", "Spine_Rotation" }; int numJoints; numJoints = jointNames.Length; jointAng = new float[numJoints]; jointAngMin = new float[numJoints]; jointAngMax = new float[numJoints]; bodyDict = new Dictionary <string, int>(); int ii = 0; //bodyDict maps jointDOFNames to index of JointAng foreach (string t in jointNames) { //print("bodyDict add:" + jointNames[ii]); bodyDict.Add(jointNames[ii], ii); ii++; } AvatarSkeleton.GetAvatarSkeleton(gameObject, ref avatarSkeleton); if (animatorComponent == null) { animatorComponent = gameObject.GetComponent <Animator>(); } numJoints = avatarSkeleton.boneIndexCount(); // print("nJ=" + numJoints); localAngles = new Vector3[numJoints]; // jointNames = new string[numJoints]; boneNames = new string[numJoints]; bonePos = new Vector3[numJoints]; bonePosMin = new Vector3[numJoints]; bonePosMax = new Vector3[numJoints]; for (int i = 0; i < numJoints; i++) { int boneIndex = i; string jointName = avatarSkeleton.boneIndex2Name(boneIndex); //print(" joint mecanim name=" + jointName); boneNames[i] = jointName; } resetMinMax = true; updateMinMax = true; //false; Update(); moving = false; initted = true; }
public void Initialize() { avatar = SK.AddStepper <AvatarSkeleton>(); }