| 834 | } |
| 835 | |
| 836 | void SkinnedModel::InitAsVirtual() |
| 837 | { |
| 838 | // Init with one mesh and single bone |
| 839 | int32 meshesCount = 1; |
| 840 | Init(ToSpan(&meshesCount, 1)); |
| 841 | ClearSkeletonMapping(); |
| 842 | Skeleton.Dispose(); |
| 843 | // |
| 844 | Skeleton.Nodes.Resize(1); |
| 845 | Skeleton.Nodes[0].Name = TEXT("Root"); |
| 846 | Skeleton.Nodes[0].LocalTransform = Transform::Identity; |
| 847 | Skeleton.Nodes[0].ParentIndex = -1; |
| 848 | // |
| 849 | Skeleton.Bones.Resize(1); |
| 850 | Skeleton.Bones[0].NodeIndex = 0; |
| 851 | Skeleton.Bones[0].OffsetMatrix = Matrix::Identity; |
| 852 | Skeleton.Bones[0].LocalTransform = Transform::Identity; |
| 853 | Skeleton.Bones[0].ParentIndex = -1; |
| 854 | |
| 855 | // Base |
| 856 | BinaryAsset::InitAsVirtual(); |
| 857 | } |
| 858 | |
| 859 | int32 SkinnedModel::GetMaxResidency() const |
| 860 | { |