PDA

View Full Version : Node3D Objects in GUI Panels


jwhopkin
08-29-2018, 08:46 AM
Hi,

I am trying to add Node3D objects to vizdlg panels and am experiencing some difficulty. The objects are set to spin in the panel. However, after rotating a certain amount, the objects seem to be culled from the panel and fail to be rendered. So, the object completes most of its spin, disappears for a few seconds, and reappears later. I have tried enabling depth testing, disabling culling and nothing seems to help. Is this a clipping plane issue, or a culling issue? Any help is much appreciated, thank you.

Jeff
09-01-2018, 12:55 AM
The following code shows how to add a spinning model to a panel. Let us know if this helps to resolve the issue with your own code:

import viz
import vizinfo
import vizact
import vizdlg

viz.go()
viz.addChild('piazza.osgb')
avatarPanel = vizinfo.InfoPanel('Avatar Panel',align=viz.ALIGN_LEFT_BOTTOM,fontSize=22,ico n=False)
avatarFiles = ['vcc_male.cfg','vcc_female.cfg','vcc_male2.cfg','p igeon.cfg']

for i,filename in enumerate(avatarFiles):

if i == 3:
scale = [130] * 3
else:
scale = [45] * 3

avatar = viz.addAvatar(filename,scale=scale,euler=[i*90,0,0])
avatar.addAction(vizact.spin(0,1,0,45))
avatar.enable(viz.DEPTH_TEST,op=viz.OP_ROOT)
avatar.state(1)
subPanel = vizdlg.Panel(layout = vizdlg.LAYOUT_VERT_CENTER, border= False)
subPanel.setMinSize([100,0])
subPanel.addItem(avatar)
avatarPanel.addItem(subPanel,align=viz.ALIGN_CENTE R)

jwhopkin
09-07-2018, 08:59 AM
Thank you! I did not end up using this code but it was still very useful. My problem was the different nodes in the panel were children from another model. I ended up switching the exact child node and got it working fine.