Advertisement
Guest User

Untitled

a guest
Nov 27th, 2017
1,888
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.94 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class Equipmentizer : MonoBehaviour {
  6.     [Tooltip("Here goes the SkinnedMeshRenderer you want to target")]
  7.     public GameObject target;
  8.  
  9.     void Start () {
  10.         SkinnedMeshRenderer targetRenderer = target.GetComponent<SkinnedMeshRenderer>();
  11.         Dictionary<string,Transform> boneMap = new Dictionary<string,Transform>();
  12.         foreach (Transform bone in targetRenderer.bones) boneMap[bone.gameObject.name] = bone;
  13.         SkinnedMeshRenderer myRenderer = gameObject.GetComponent<SkinnedMeshRenderer>();
  14.         Transform[] newBones = new Transform[myRenderer.bones.Length];
  15.         for (int i = 0; i < myRenderer.bones.Length; ++i) {
  16.             GameObject bone = myRenderer.bones[i].gameObject;
  17.             if (!boneMap.TryGetValue(bone.name, out newBones[i])) {
  18.                 Debug.Log("Unable to map bone \"" + bone.name + "\" to target skeleton.");
  19.                 break;
  20.             }
  21.         }
  22.         myRenderer.bones = newBones;
  23.     }
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement