找回密码
 立即注册

QQ登录

只需一步,快速开始

胡涂涂

最新发帖
Felix.LiWyn认证
超级版主   /  发表于:2024-4-17 19:31:56
11#
这个其实不牵扯,我们数据绑定其实不对改变babylon本身方法, 或者说寻找父节点的方法,我们只是相当于改名后,把当前节点的名称做了个重命名,然后在鼠标hover的时候等,添加的事件,绑定上本身不影响模型,模型寻找父节点

pickedMesh = pickedMesh.parent

其实本身还是babylon的操作,如果有父子级关系,肯定还是能正常找的。
现在咱们的问题是不是
pickedMesh.parent找的时候找不到父节点?其实您可以直接console一下,看一下是哪一步,找不到父节点了,或者是对象是空的。不符合模型设计的,这个更好排查


回复 使用道具 举报
胡涂涂
注册会员   /  发表于:2024-4-17 19:47:07
12#
Felix.Li 发表于 2024-4-17 19:31
这个其实不牵扯,我们数据绑定其实不对改变babylon本身方法, 或者说寻找父节点的方法,我们只是相当于改名 ...

您的回答太用心了 谢谢,我按照你的方法先试一下。
回复 使用道具 举报
Run2024
注册会员   /  发表于:2024-4-18 09:42:29
13#
Scene中的节点有两种,一种是Mesh,另外一种是TransformNode,需要使用不同的方法获取,前者使用 getMeshByName, 后者需要使用 getTransformNodeByNameSearch。
API文档https://doc.babylonjs.com/typedoc/classes/BABYLON.Scene#getTransformNodeByName

在Wyn的3D设计器中选中节点,右侧属性框的上方,会显示节点类型:
image.png781443481.png
image.png34592894.png
第一个图是 Mesh,第二个是TransformNode,需要按照类型来处理。

另外看你的模型结构,节点名字是 _v33,前面有个下划线,而代码是 scene.getMeshByName("v33"),也有可能是这个问题。

评分

参与人数 1金币 +666 收起 理由
Eden.Sun + 666

查看全部评分

回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2024-4-18 13:41:40
14#
Run2024 发表于 2024-4-18 09:42
Scene中的节点有两种,一种是Mesh,另外一种是TransformNode,需要使用不同的方法获取,前者使用 getMeshBy ...

感谢老铁的回复,您也可以参考下呢。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部