Profile Picture

Bug report: Viseme Component's AddVisemeKey function always gives a 'TypeError

Posted By butaixianran 5 Years Ago
You don't have permission to rate!

Bug report: Viseme Component's AddVisemeKey function always gives a...

Author
Message
butaixianran
Problem.png
butaixianran
Posted 5 Years Ago
View Quick Profile
Veteran Member

Veteran Member (941 reputation)Veteran Member (941 reputation)Veteran Member (941 reputation)Veteran Member (941 reputation)Veteran Member (941 reputation)Veteran Member (941 reputation)Veteran Member (941 reputation)Veteran Member (941 reputation)Veteran Member (941 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 30, Visits: 305
RLPy.RIVisemeComponent has a function:
AddVisemeKey (self, kTime, eVisemeID, fWeight)
which will always give an error.<class 'TypeError'>

This official api document must be different from the real api in iclone.
Even official example give an error.
Try this:

import math, RLPy
#-- Get Characters from current scene --#
avatar_list = RLPy.RScene.GetAvatars()
#-- Get First Character --#
avatar = avatar_list[0]
viseme = avatar.GetVisemeComponent()
#add clip
viseme.AddVisemesClip(RLPy.RTime(0), "test", RLPy.RTime(1000))
# try to add a key but gives error: class 'TypeError'
viseme.AddVisemeKey(RLPy.RTime(100) , RLPy.EVisemeID_AH, 50);



Please review this official page:
http://manual.reallusion.com/iClone/script/python/class_r_l_py_1_1_r_i_viseme_component.html


Edited
5 Years Ago by butaixianran
AllenLee (RL)
AllenLee (RL)
Posted 5 Years Ago
View Quick Profile
Senior Member

Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)Senior Member (343 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 54, Visits: 526
Hi  butaixianran,
Sorry, our Python API website has missed updates and we will update as soon as possible.
If you are using iClone 7.5 or later, please try to change the code to the following

viseme_key = RLPy.RVisemeKey(RLPy.EVisemeID_AH, 50)
viseme_key.SetTime(RLPy.RTime(100))
viseme.AddVisemeKey(viseme_key)

Allen Lee


butaixianran
butaixianran
Posted 5 Years Ago
View Quick Profile
Veteran Member

Veteran Member (941 reputation)Veteran Member (941 reputation)Veteran Member (941 reputation)Veteran Member (941 reputation)Veteran Member (941 reputation)Veteran Member (941 reputation)Veteran Member (941 reputation)Veteran Member (941 reputation)Veteran Member (941 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 30, Visits: 305
It works, thanks.
PaleHorseDavid
PaleHorseDavid
Posted 4 Years Ago
View Quick Profile
Senior Member

Senior Member (350 reputation)Senior Member (350 reputation)Senior Member (350 reputation)Senior Member (350 reputation)Senior Member (350 reputation)Senior Member (350 reputation)Senior Member (350 reputation)Senior Member (350 reputation)Senior Member (350 reputation)

Group: Forum Members
Last Active: 2 days ago
Posts: 12, Visits: 129
This does set a new key, but it creates a new clip for each individual key if you don't first create a new blank clip (of the correct length) first.
Edited
4 Years Ago by PaleHorseDavid



Reading This Topic