WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   vizconnect avatar manipulation (https://forum.worldviz.com/showthread.php?t=5935)

nom nom 01-10-2017 06:01 PM

vizconnect avatar manipulation
 
Hi,

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.

Code:


_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.setEuler(90,0,0)
                        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.

Code:

Avatar = vizconnect.getAvatar('male_2').getRaw()
Avatar.setEuler(90,0,0)
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.

Code:

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

This gives an error:

** ERROR: Bone with name 'Bip01 head' does not exist
Traceback (most recent call last):
File "", line 11, in
File "C:\Users\User\Downloads\VR\Vizard script\Learning_PD_Day1_1.py", line 29, in
Avatar_head.setVisible(viz.OFF)
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!

Jeff 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:

Code:

avatar.visible(0,'male_head.crfx')

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!

Jeff 02-10-2017 02:44 PM

The following works for me using the male_2 avatar from vizconnect:

Code:

avatar = vizconnect.getAvatar('male_2').getRaw()
avatar.visible(0,'male_head.crfx')



All times are GMT -7. The time now is 06:07 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC