public Skeleton Detect(Bvh bvh) { var root = new BvhBone(bvh.Root.Name, Vector3.zero); root.Build(bvh.Root); return(Detect(root.Traverse().Select(x => (IBone)x).ToList())); }
public Skeleton Detect(Transform t) { var root = new BvhBone(t.name, Vector3.zero); root.Build(t); return(Detect(root.Traverse().Select(x => (IBone)x).ToList())); }
public void Build(Transform t) { foreach (Transform child in t) { var childBone = new BvhBone(child.name, SkeletonLoacalPosition + child.localPosition); childBone.Parent = this; _children.Add(childBone); childBone.Build(child); } }
public void Build(BvhNode node) { foreach (var child in node.Children) { var childBone = new BvhBone(child.Name, SkeletonLoacalPosition + child.Offset.ToXReversedVector3()); childBone.Parent = this; _children.Add(childBone); childBone.Build(child); } }