View Full Version : vizconnect avatar manipulation

nom nom
01-10-2017, 06:01 PM

I'm trying to manipulate an avatar after I added it through vizconnect, but I have few questions that I cannot solve by myself.

First question is to change its orientation. I tried to directly modify the vizconnect script.

_name = 'male_2'
if vizconnect.isPendingInit('avatar', _name, initFlag, initList):
#VC: init the raw object
if initFlag&vizconnect.INIT_RAW:
#VC: create the raw object
avatar = viz.add('vcc_male2.cfg')
avatar._bodyPartDict = {}
avatar._handModelDict = {}
rawAvatar[_name] = avatar

but it didn't do anything. Though when I print the euler, it shows the right euler values. So I tried to call it in my script.

Avatar = vizconnect.getAvatar('male_2').getRaw()
print Avatar.getEuler()

This also didn't do anything while the euler value's correct when I printed.

Second question is that I'd like to make the head of the avatar invisible, so I tried the following code.

Avatar = vizconnect.getAvatar('male_2').getRaw()
Avatar_head = Avatar.getBone('Bip01 head')

This gives an error:

** ERROR: Bone with name 'Bip01 head' does not exist
Traceback (most recent call last):
File "<string>", line 11, in <module>
File "C:\Users\User\Downloads\VR\Vizard script\Learning_PD_Day1_1.py", line 29, in <module>
AttributeError: 'VizBone' object has no attribute 'setVisible'

So i guess there is no bone object if I add an avatar through vizconnect.. or is there other way to grab it?

Thanks in advance!

01-11-2017, 11:54 AM
Have you mapped any tracking data to the avatar through the animator in vizconnect? If so, then the tracking data may override the set command. You could:

Add a transport or group tracker above the avatar in the scenegraph and apply a 90 degree rotation to that.
Apply a 90 degree offset to the head tracking data.

Try the following to hide the avatar's head:


nom nom
02-08-2017, 11:29 AM
Thanks for the reply and sorry for my late reply :) I finally had some time to try that and your first solution indeed worked, but the problem was that because the group tracker is a parent of the tracking data, when I rotated the avatar, tracking data from other input source also rotate, which overall the result was the same.

Though, I found a solution which I rotated the torso of the avatar to my desired direction and it worked greatly!

For the second part, I tried that code, but the following error message is shown.

** WARNING: Could not find subchild with name: 'male_head.crfx'

Is the name you provided correct?

Thanks in advance!

02-10-2017, 02:44 PM
The following works for me using the male_2 avatar from vizconnect:

avatar = vizconnect.getAvatar('male_2').getRaw()