日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

3dContactPointAnnotationTool开发日志(二二)

發(fā)布時(shí)間:2025/7/14 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3dContactPointAnnotationTool开发日志(二二) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

??昨天是實(shí)現(xiàn)了顯示GameObject子GameObject的選項(xiàng)卡功能,今天就是要讓statusPanel可以控制它們的位置、旋轉(zhuǎn)和縮放了。
??沒什么難的,對應(yīng)選項(xiàng)卡綁定上對應(yīng)的物體或子物體即可。
??刪除操作的話只需要在刪除當(dāng)前選項(xiàng)卡之前遞歸地刪除它的子孫選項(xiàng)卡和對應(yīng)的模型即可,隱藏的話也是遞歸地將他們的active設(shè)置為false。
??由于smpl模型只有一個(gè)skinnedMeshRenderer,然而網(wǎng)格的各個(gè)部分是綁定在它的子對象中的,如何獲得各種變換后對應(yīng)網(wǎng)格的頂點(diǎn)坐標(biāo)呢?
??使用BakeMesh方法即可,用法是先new一個(gè)mesh作為容器,然后調(diào)用該方法就能把經(jīng)過各種亂七八糟變換后的mesh的snapshot(快照,就是網(wǎng)格渲染的樣子,也是Mesh類型)存入括號里的mesh。
??比如我的OnClick方法是這么寫的,就是點(diǎn)擊按鈕后會(huì)在網(wǎng)格的每個(gè)頂點(diǎn)坐標(biāo)生成一個(gè)半徑為0.1的球:

public void OnClick() {Mesh mesh= new Mesh();smr.BakeMesh(mesh);foreach(var item in mesh.vertices){var a=GameObject.CreatePrimitive(PrimitiveType.Sphere);a.transform.position = item;a.transform.localScale = new Vector3(0.1f,0.1f,0.1f);} }

??變換前:

??只旋轉(zhuǎn)子對象:

??點(diǎn)擊按鈕:

??不過對最外層的變換貌似只響應(yīng)scale變換,position和rotation的變換卻沒反應(yīng),但是對于直接導(dǎo)入的obj模型是這三類屬性都不響應(yīng)的,真奇怪。
??沒辦法,只能禁用最外層的scale編輯了...
??smpl模型也不能增加三角形數(shù)量,于是也把smpl模型三角形數(shù)量編輯給禁了。
??關(guān)節(jié)點(diǎn)的話只能編輯旋轉(zhuǎn),編輯position的話會(huì)產(chǎn)生很鬼畜的結(jié)果,所以把關(guān)節(jié)點(diǎn)的position和scale也禁了??傊睦锊粚睦?。

??也相應(yīng)地把計(jì)算接觸點(diǎn)那里改成適應(yīng)skinnedMeshRenderer的版本,來看看效果吧:
??先調(diào)好人的姿勢以及和椅子的位置:


??然后計(jì)算接觸點(diǎn):


??看上去還挺正常的。不過接觸點(diǎn)貌似太黑了點(diǎn),要是紅紅的就好看一些,應(yīng)該是陰影的問題。
??于是加了這兩行代碼:

//不產(chǎn)生陰影也不接收陰影 mr.receiveShadows = false; mr.shadowCastingMode =UnityEngine.Rendering.ShadowCastingMode.Off;

??然而還是有些接觸點(diǎn)是黑色的,這些都是卡在另一個(gè)模型里沒有光線照射到的球:

??應(yīng)該能夠用設(shè)置layer的方式來解決這個(gè)問題,給接觸點(diǎn)設(shè)置為單獨(dú)的層,然后新建light再設(shè)置light的culling mask,只照射接觸點(diǎn)所在層就行了:

??最后用一個(gè)哲♂學(xué)場景測一下效果:





??可以發(fā)現(xiàn)所有接觸點(diǎn)在光線的照射下熠熠生輝,我成功地驅(qū)逐了黑暗!

轉(zhuǎn)載于:https://www.cnblogs.com/yaoling1997/p/10158614.html

總結(jié)

以上是生活随笔為你收集整理的3dContactPointAnnotationTool开发日志(二二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。