將既有的臉部貼圖轉換到另一個不同臉部模型的方法

關鍵字:3ds max Projection, render to texture

模型1:Source Model 已有貼圖, 此UV我們叫UV_Source

模型2:Target Model 沒有貼圖, 有UV, 此UV我們叫UV_Target

目的:將Source Model的貼圖轉換到Target Model上

(因為兩個UV不同 但有Diffuse 為了省時間)

方法:用3ds Max Projection功能

  1. 將兩Model放一起
  2. 分別指定Standard Material
  3. 注意Target Model必須完全包覆Source Model (如果沒包好 Source Model部分露出 到時轉換的貼圖會出現紅色)
  4. 選Target Model
  5. >Modifier >Projection >Pick List >選Source Model
  6. >Render to Texture >*Enable Projection: 選兩model UV所在的channel (通常是Channel 1) >Add Texture: Diffuse >Render
  7. 就可得到一張符合UV_Target的新的Diffuse貼圖

從3ds max, Maya輸出物件或人物動作到Unity

場景/不帶骨架的靜態物件輸出, 只有UV1 (objects without any bones and UV1 only)

  • 使用obj/FBX輸出

場景/不帶骨架的靜態物件輸出, 有UV1,UV2  (objects with bones, contains UV1 and UV2)

  • 使用FBX輸出

多重材質輸出(Mutli/Sub Material)

  • 使用FBX輸出

帶骨架的物件輸出 (Objects with bones)

  • 使用FBX輸出
  • 如果是3dsmax 2012前(不含)的版本 骨架輸出會有軸向問題 使用3dsmax2012可解決此一問題
  • 使用Maya沒有此問題

Export Package後材質跑掉的問題

  • 狀況:輸入一個新的物件(obj/fbx) 並將該物件拖進場景後 輸出成package後 再import package到別人的專案時 材質不見了
  • 原因:因為預設狀態下會Unity去讀取obj/fbx帶進來的材質 所以當重新輸出成package後 該場景物件會去找原本obj/fbx帶進來的材質 有時ok 有時會發生材質不見或材質設定錯亂的不穩定情形
  • 解決:輸出前記得將該場景物件拖到Asset資料夾轉換prefab 然後再輸出一次就可以了

Unity>Game Object >Create Empty妙用

Create Empty後會產生一個空物件 叫她spawner好了

將此空物件重新歸零 (0 0 0)

然後將產生器spawner放好定位 以我的game為例 我有4個怪物產生器分別在4角落

再將此4個怪物產生器全部attach到spawner下

然後建立一個prefab

再將場景中的spawner刪掉

再到 awake() 裏用instantiate產生此spawner就可以了

好處:

  • 因為此空物件已先歸零 所以之後如果因人為錯誤導致位移 也較好調整
  • 如果只是單純產生指定物件 要旋轉到其它方向 就要另外控制 用此方法 我們就可以先將child物件擺好方向
  • code比較少