最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

用胯!論Openpose轉Unity.humanoid一種方案(二)

2023-03-29 23:19 作者:DeadCyber  | 我要投稿

上一篇中,我們已經(jīng)從openpose的單張2d數(shù)據(jù)

對應到了每個skin.bones[i]的transform。

接下來就是怎樣設置這些transform。


第一種:直接設置RTS(錯誤)

? ?這種想法簡單直接,結果變成這樣

從圖中的紅點,其實是可以看出我們確實設置對了位置,但是原模型本來就有大小,縮放,肯定與2d測算匹配不上。我們要設置,且能設置的,只有骨骼的旋轉。


第二種:用胯!從Hip設置Rotation軸方向(可行)

? ? 只設置rotation,怎樣設?從哪里開始設?

? ? 其實這和我們自身運動的物理屬性一致。一般來說重心落在Hip處,hip這個東西不能簡單看機器翻譯成臀部,根據(jù)實際情況會在會陰,檔下,陰部,腹部下方,或者尾椎骨范圍那一個點。實際上跟hip一些武術里說的“胯”概念類似,不是butt,而是你全身運動的一個基點。所以游戲開發(fā)常用的骨骼都以hip為根節(jié)點,然后以這樣一個“流向”向末端傳導:


可以看作是一個從hip開始,對rotation的FK(前向動力學)傳導。我們后面的代碼也是基于這個流向。

PS:用胯!

? ? 一些武術里說“力始于足,發(fā)于腿,主宰于腰”。上面這個流向,就是“主宰于腰”,這個“腰”又是一個虛詞,和“胯”一個意思,就是hip。“主宰”就是你調(diào)整姿勢的時候,是從hip開始節(jié)節(jié)傳導至末端的。

? ? “力始于足”,硬要解釋,就是重力的反作用力在腳底,我們平時走路的時候,就是一個基于足底的IK(反向動力學),它的傳導是這樣的:

? ? 我用紅白兩色表明不同于“主宰于腰”,普通人在FK的時候不會太注重左右分別(實際上有意識地進行肌肉收縮,F(xiàn)K也可以有更多的可能性);而走路IK不一樣,左右兩力明顯不一樣,普通人也感受明顯。這就是為什么我們走路會容易摔倒,而調(diào)整姿勢的動作卻不會讓我們摔倒,因為力不“合”。綠框中是由“胯”到“中臺”的力傳導,實際上不一定是簡單的垂直向上,也可能是交叉?zhèn)鲗В挥捎趥鞯健爸信_”的情況比較復雜,到手上也就不一樣了,不過大體上還是從Shoulder到Hand這一路下來。

? ? 至于“發(fā)于腿”,因為目前主流游戲引擎沒有肌肉系統(tǒng),所以也不好驗證。不過很明顯,腳上又沒肌肉,支撐你整個人站住的是腿部的肌肉,腿軟了也就站不住了;根據(jù)上面流向圖,你也應該知道“力發(fā)于腿”的合理性。以后有機會Houdini之類的可以試試。

調(diào)整軸向對應

? ? 我發(fā)現(xiàn)對于每一個骨骼,它的“流向方向”對應的軸也不太一樣,xyz正負都有,這個可能是制作規(guī)范上各有各的想法:

所以在每個openID后面,加一個流向對應;如果遇到了不同制作規(guī)范的骨骼,改后面的就行:

最后,我們終于可以進行基于hip的對旋轉的FK了:

由于缺少深度信息,所以腳趾頭有手動處理,還有前后關系上有待處理。有些細節(jié)處理就不說了,之前的文章也有提到。

AI轉深度圖后可能可以優(yōu)化前后關系等。這個之后可以嘗試。


就這么多,謝謝。

用胯!論Openpose轉Unity.humanoid一種方案(二)的評論 (共 條)

分享到微博請遵守國家法律
秦安县| 长沙市| 鹤岗市| 定襄县| 万山特区| 五家渠市| 湛江市| 汽车| 罗定市| 鄂托克前旗| 靖边县| 仁寿县| 安福县| 江北区| 高台县| 砚山县| 苏尼特左旗| 昌吉市| 尖扎县| 塘沽区| 浙江省| 宝鸡市| 河东区| 乡宁县| 依兰县| 芷江| 龙川县| 和平县| 德保县| 改则县| 忻州市| 宜阳县| 长汀县| 光山县| 苍梧县| 浦城县| 新昌县| 信阳市| 高台县| 界首市| 黔南|