Ganti pakaian pada karakter dari MakeHuman di Unity3d

Tujuan artikel ini adalah untuk mentransfer karakter dari Makehuman ke Unity3d agar bajunya bisa dilepas dan dipakai dengan benar selama permainan.





Untuk ini kita membutuhkan Makehuman , Blender3d , Unity3d dan plugin UMA -nya ( semuanya gratis). Artikel itu ditulis berdasarkan saluran YouTube ini , mengulangi setelah penulisnya, saya mengisi banyak gundukan, dan sekarang saya siap menyatakan visi saya.





Tahap 1: Penciptaan Karakter di Makehuman

Ini adalah tahap termudah dan paling menyenangkan, di sini Anda perlu mencontoh karakternya. Makehuman adalah program yang cukup sederhana, jadi saya tidak akan menjelaskan cara bekerja dengannya.





Tapi ada tiga poin penting. Pertama: Anda perlu menambahkan kerangka ke model (ditambahkan di tab Pose / Animate). Dalam tutorial ini, saya menggunakan rig Game Engine. Kedua, jika karakter memiliki pakaian, maka Anda perlu menonaktifkan pilihan untuk poligon menghapus bawah pakaian (ini dapat dilakukan di Geometris -> tab Pakaian, dan hapus centang pada Hide wajah di bawah pakaian kotak centang ). Ketiga, Anda perlu mengekspor ke fbx dan menentukan satuan meter. Juga, untuk berjaga-jaga, Anda dapat menyimpan modelnya.





Beberapa poin tambahan

Tidak perlu mengubah pose karakter.

Pakaian bisa diekspor dalam beberapa bagian. Artinya, Anda tidak perlu mengenakan semua pakaian sekaligus, Anda bisa, misalnya, menyelamatkan karakter yang hanya memiliki celana dan kemeja terlebih dahulu. Dalam blender, ekspor, lalu kembali menjadi manusia, lepaskan pakaian lama dan ulangi operasi ekspor, misalnya, untuk topi dan sepatu bot.





Satuan ukurnya adalah meter, artinya sepuluh sel dalam makehuman berarti meter konvensional





Tahap 2: Memprosesnya di Blender3d

Ada tiga hal yang perlu kita lakukan di sini:





  • Normalisasi Model





  • Tambahkan tulang global





  • Potong bagian tubuh





Luncurkan Blender3d. Pertama kita perlu menghapus cahaya, kamera dan kubus dan mengimpor model kita. Kemudian kami mengimpor model kami: File -> Import -> fbx (dan pilih file fbx kami)





Rake yang aku injak

, makehuman, ( fbx , ). .





. , , , , . , . .









Beralih ke mode pose

, ( a)





pose ->clear transform -> all





Transformasi yang jelas

, , . .





90 ,





.





Beralih ke mode objek

. R , X . -90 Enter





, .





, , , , . scale 0.500, 1.000. , scale, , . .





0° 1.000 ( ).

, ( ) ctrl + a, rotation & scale.





, UMA. .





Global (Head= 0,0,0 Tail=0,0,0.1) //  
  Position (Head= 0,0,0 Tail=0,0,0.1) //   Root 
       ( pelvis)
      
      



Root Position. Transform .





( Game_engine) . add -> single bone





bone, Global , Position.





Global Position. Position.





Global, shift, Position. 3d ctrl + p, keep offset.





UMA - / - . , , .

















  • ( )

















(seams mesh). , ( , ). .





seams mesh

( ). (, ) .





seams mesh
seams mesh

shift + d, RMB





.





seams mesh ( ).





, .





( seams mesh).

.





alt ( , ).





UPD: ( c) , ValeryIvanov :





( h), L ( ), , Alt + L. P Selection. , .





    ( H)
( H)
  L    (    )
L ( )
  (Alt + L)    (P -> Selection)
(Alt + L) (P -> Selection)

.





. . .





.





, seams mesh . .





fbx ( makehuman )





3: UMA

unity, , unity. UMA - Unity Multipurpose Avatar, . UMA/Getting Started/UMA_GLIB .





, characters. (fbx ). , . fix now.





UMA ( characters), . . , .





fbx , Convert Units, Apply. rig animation type, Humanoid Apply.





UMA -> Extract T-Pose ( fbx ). TPoses -.





UMA -> Slot Builder, . fbx seams mesh seams mesh Slot Builder. UMAMaterial UMA_defuse ( ). slot destination folder .





automatic Drag and Drop porcessig. , , ( ). , seams mesh None , .





. , UMA, , , , , ( ). , , Create -> UMA -> Core -> Overlay Asset. Overlay name ( head), material ( UMA_defuse) 1, _MainTex . .





TextRecipe RaceData

Create -> UMA -> Core -> Race Data, Create -> UMA -> Core -> Text Recipe. - . - / . . , Race Name , TPose - . Base Race Recipe .





Wardrobe Slots, - , . Wardrobe Recipe. Wardrobe Recipe . Wardrobe Recipe ? , () . , , ( , ). Wardrobe Recipe , , ( ), , . Wardrobe Slots :





  • None





  • Hair





  • Shirt





  • Pants





  • Shoes





BaseRecipe, Slots. Race Data (, ). ( ). . . , shared overlays.





UMA -> Global Library, .





. UMA/Getting Started/UMADynamicCharacterAvatar ( ). Dynamic Character Avatar Active Race .





( , ). , . Race Animation Controllers Race Animators , Race , Animator IdleTest-w-head.





Play. .





Create -> UMA -> DCS -> Waredrop Recipe, , Wardrobe Slot . , . , . . , Customization -> Default Recipes .





, . Create -> UMA -> Misc -> Mesh Hide Asset, , , Begin Editing , . Waredrop Recipe Add Mesh Hide Asset, .





. Dynamic Character Avatar, Customisation -> Default Waredrop Recipes .





DynamicCharacterAvatar. SetSlot ClearSlot , BuildCharacter. SetSlot . . Waredrop Recipe. ClearSlot .





SetSlot ()

, . , SetSlot Waredrop Slot Waredrop Recipe.





, - AddWardrobe RemoveWardrobe.





using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UMA;
using UMA.CharacterSystem;

public class Program : MonoBehaviour
{
	//     Dynamic Character Avatar
	public GameObject DCA;
	private DynamicCharacterAvatar avatar;
	
	void Start(){
		avatar = DCA.GetComponent<DynamicCharacterAvatar>();
	}

	public void AddWardrobe(string wardrobeSlot, string wardrobeRecipe){
		avatar.SetSlot(wardrobeSlot,wardrobeRecipe);
		avatar.BuildCharacter();
	}
	
	public void RemoveWardrobe(string wardrobeSlot){
		avatar.ClearSlot(wardrobeSlot);
		avatar.BuildCharacter();
	}
}
      
      



Terima kasih telah membaca sampai akhir, semoga artikel ini menjadi langkah lain bagi Anda untuk membuat game impian Anda.








All Articles