AddSkinnedMeshParts 스크립트를 사용해서 기본 뼈대에 캐릭터 파츠를 불러오고 간단하게 애니메이션을 확인할 수 있도록 작성해보았다. (파츠 교체 시스템 기본 구성)
게임오브젝트 구성 내용 (남자 캐릭터)
게임오브젝트 구성 내용 (여자 캐릭터)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class AddSkinnedMeshParts : MonoBehaviour
{
[SerializeField] GameObject[] parts;
void Start()
{
foreach (var part in parts)
{
AddSkinnedMeshRenderer(part);
}
}
public void AddSkinnedMeshRenderer(GameObject newSkinnedMesh)
{
// add skinned mesh
var newSkinnedMeshRenderer = newSkinnedMesh.GetComponentInChildren<SkinnedMeshRenderer>();
SkinnedMeshRenderer skinnedMeshRenderer = Instantiate(newSkinnedMeshRenderer, transform);
Transform[] childrens = transform.GetComponentsInChildren<Transform>(true);
// sort bones.
Transform[] bones = new Transform[newSkinnedMeshRenderer.bones.Length];
for (int boneOrder = 0; boneOrder < newSkinnedMeshRenderer.bones.Length; boneOrder++)
{
bones[boneOrder] = System.Array.Find<Transform>(childrens, c => c.name == newSkinnedMeshRenderer.bones[boneOrder].name);
}
skinnedMeshRenderer.bones = bones;
}
}
|
cs |
LOWPOLY - Universal Character 유니티 에셋으로 테스트 구성한 프로젝트 패키지
'Technical Art > 2024' 카테고리의 다른 글
[3dsmax script] MergeParts with Skin 여러 파츠 리소스를 모아줄수 있어? (0) | 2024.09.03 |
---|---|
[Unity Project Settings] Preset Manager 폴더별로 구성하기 (0) | 2024.03.11 |
[Unity Editor Script] MyMacroButton (자주 사용하는 기능을 버튼으로 만들기) (0) | 2024.03.11 |
[Unity Editor Script] ListDecoParentObject 프리팹 정보 (추적 관리) (0) | 2024.03.11 |
[Unity Editor Script] List Textures with Mipmaps (0) | 2024.03.11 |