日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unity 带骨骼的人体模型换装

發布時間:2024/3/26 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity 带骨骼的人体模型换装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

直入主題:

1、實驗材料

兩個模型,雖然缺胳膊少腿的,但是能用!!!

?

2、條件 ?

? ?兩個模型在制作時是基于同一套骨骼,導出模型部位時連著該部位的骨骼一起導出,這樣導入到Unity的模型就帶有SkinnedMeshRenderer組件。

?

3、目標及實現

? ?目標:將右側的衣服換給左側的模型

? ?代碼:??

public SkinnedMeshRenderer HeroSMR; ? ?//左側模型衣服部位的SkinnedMeshRenderer
public SkinnedMeshRenderer TargetSMR; ?//右側模型衣服部位的SkinnedMeshRenderer

void Start()
{

HeroSMR.sharedMesh = TargetSMR.sharedMesh;
HeroSMR.materials = TargetSMR.sharedMaterials;
}

? ?So Easy 是不是!!

?

4、效果

新Mesh也能很好的適應原先骨骼的變形,反正就是皮換骨不換。

?

5、結論

? ?蒙過皮帶有骨骼的模型導入u3d后會自動生成SkinnedMeshRenderer組件,存儲了骨骼和Mesh的信息,比如權重邊界什么的。

? ?但Mesh和骨骼對應的信息,比如哪個點受哪根骨骼的影響,這個我覺得是導入骨骼模型后存在了Mesh里(猜測)。

? ?因為根據我做的實驗,同樣的衣服模型,分別導入帶骨骼的和不帶骨骼的,帶骨骼的如上所示,能正常更換上去,不帶骨骼的代碼如下:

public SkinnedMeshRenderer HeroSMR;

public MeshFilter TargetMF;

public MeshRenderer TargetMR;

void Start()
{

HeroSMR.sharedMesh = TargetMF.sharedMesh;
HeroSMR.materials = TargetMR.sharedMaterials;?
}

? ?這樣操作后雖然衣服是換成了,但是位置信息完全錯誤,也就是Mesh沒和骨骼對應上,所以我猜測Mesh和骨骼對應的信息是存在Mesh里的,

僅僅是猜測,不喜勿罵~~~

轉載于:https://www.cnblogs.com/ljx12138/p/6051558.html

總結

以上是生活随笔為你收集整理的Unity 带骨骼的人体模型换装的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。