Facial vertex animation for a custom character from XSI into Face Poser - possible ?

B

benmears

Guest
Hello fellow modders. I've been trying with a great deal of frustration to create custom facial animations for my "Skeleton" character that I will be able to use and manipulate inside Source SDKs Face Poser. I'm using XSI 6.02 and have been trying to make it work by following these tutorials:

http://www.hl2world.com/wiki/index.php/Creating_facial_animations_with_VTA_files

http://developer.valvesoftware.com/wiki/Character_Setup_Overview

They've been helpful but are also kind of incomplete so I wasn't able to achieve what I wanted.

Basically, right now my workflow is:

-In XSI's Shape Manager I create different facial shapes by manipulating the vertices and then save and name them accordingly (such as "blink")

-I create a 10 frame animation for each expression where frame 1 is the normal face shape at a value of 0 and frame 10 is the newly created face shape at a value of 1 (for "blink" - eyes are open at frame 1 and at frame 10 they are closed)

-Using the SMD exporter I export each 10 frame facial animation individually as a VTA file ("blink.vta"). I've tried exporting with just the mesh selected and both the mesh and rig selected

-I modify the QC file to reference these VTAs. My current QC looks like this:
---------------------------------------------------------------------------------------
$modelname Noesis\Skeleton\Skeleton.mdl
$cdmaterials models\Skeleton
$scale 1

$model "Skeleton" Skeleton_Reference.smd {

flexfile "blink.vta"
flex "blink" frame 10
flexcontroller "eyelid" "blink" "range" 0 1



%blink = blink

}

$sequence Idle "Skeleton_Idle" FPS 30 activity ACT_idle 1


$surfaceprop "rock"

$collisionmodel "skeleton_phy.smd" {
$mass 10.0
$concave
}
---------------------------------------------------------------------------------------
I got the lines:

flexfile "blink.vta"
flex "blink" frame 10
flexcontroller "eyelid" "blink" "range" 0 1

%blink = blink


from Cannonfodder's 3ds Max tutorial. There were other lines of code in his QC (take a look at his tutorial for the complete QC) that didn't work or seem necessary in mine.

-I successfully compile the model without any errors. Here it is:

-----------------------------------------------------------------------------------------------

C:\Program Files\Steam\steamapps\noesis3d\sourcesdk_content\hl2mp\modelsrc\human
s_sdk\Male\Group03m>"C:\Program Files\Steam\steamapps\noesisinteractive\sourcesd
k\bin\studiomdl.exe" "C:\Program Files\Steam\steamapps\noesis3d\sourcesdk_conten
t\hl2mp\modelsrc\humans_sdk\Male\Group03m\Skeleton.qc"
qdir: "c:\program files\steam\steamapps\noesis3d\sourcesdk_content\hl2mp\mode
lsrc\humans_sdk\male\group03m\"
gamedir: "c:\program files\steam\steamapps\noesis3d\half-life 2\hl2\"
g_path: "Skeleton"
Working on "Skeleton.qc"
SMD MODEL Skeleton_Reference.smd
VTA MODEL blink.vta
SMD MODEL Skeleton_Idle.smd
SMD MODEL skeleton_phy.smd
WARNING: Bad collision model, check your smoothing groups!!!
WARNING: Truncating model!!!!
WARNING: skeleton_phy.smd has bad smoothing groups
Model has 1 convex sub-parts
Collision model completed.
---------------------
writing c:\program files\steam\steamapps\noesis3d\half-life 2\hl2\models/Noesis\
Skeleton\Skeleton.mdl:
bones 14656 bytes (54)
animations 132 bytes (1 anims) (2 frames) [0:00]
sequences 432 bytes (1 seq)
ik/pose 208 bytes
eyeballs 0 bytes (0 eyeballs)
flexes 0 bytes (1 flexes)
textures 72 bytes
keyvalues 0 bytes
Collision model volume 12997.13 in^3
collision 0 bytes
total 17112
---------------------
writing c:\program files\steam\steamapps\noesis3d\half-life 2\hl2\models/Noesis\
Skeleton\Skeleton.vvd:
vertices 528000 bytes (11000 vertices)
tangents 176000 bytes (11000 vertices)
total 704064 bytes
---------------------
Generating optimized mesh "c:\program files\steam\steamapps\noesis3d\half-life 2
\hl2\models/Noesis\Skeleton\Skeleton.sw.vtx":
body parts: 8 bytes
models: 20 bytes
model LODs: 12 bytes
meshes: 9 bytes
strip groups: 25 bytes
strips: 27 bytes
verts: 99000 bytes
indices: 54000 bytes
bone changes: 8 bytes
everything: 153133 bytes
---------------------
Generating optimized mesh "c:\program files\steam\steamapps\noesis3d\half-life 2
\hl2\models/Noesis\Skeleton\Skeleton.dx80.vtx":
body parts: 8 bytes
models: 20 bytes
model LODs: 12 bytes
meshes: 9 bytes
strip groups: 25 bytes
strips: 135 bytes
verts: 100827 bytes
indices: 54000 bytes
bone changes: 640 bytes
everything: 155700 bytes
---------------------
Generating optimized mesh "c:\program files\steam\steamapps\noesis3d\half-life 2
\hl2\models/Noesis\Skeleton\Skeleton.dx90.vtx":
body parts: 8 bytes
models: 20 bytes
model LODs: 12 bytes
meshes: 9 bytes
strip groups: 25 bytes
strips: 54 bytes
verts: 99054 bytes
indices: 54000 bytes
bone changes: 472 bytes
everything: 153678 bytes
---------------------
Generating optimized mesh "c:\program files\steam\steamapps\noesis3d\half-life 2
\hl2\models/Noesis\Skeleton\Skeleton.xbox.vtx":
body parts: 8 bytes
models: 20 bytes
model LODs: 12 bytes
meshes: 9 bytes
strip groups: 25 bytes
strips: 54 bytes
verts: 99288 bytes
indices: 54000 bytes
bone changes: 520 bytes
everything: 153960 bytes

Completed "Skeleton.qc"

C:\Program Files\Steam\steamapps\noesis3d\sourcesdk_content\hl2mp\modelsrc\human
s_sdk\Male\Group03m>Pause
Press any key to continue . . .
----------------------------------------------------------------------------------------------------

-I load the compiled model into both Model Viewer and Face Poser where it looks ok.

Now the lame part - In the model viewers I open the "Flex" tab and "blink" appears in any of the drop down boxes. I select it but when I move the slider - guess what - nothing happens!

So, basically it looks to me like the actual animation isn't being exported but the setup control for it is. I think that my QC is missing something but I can't figure out what. I've spent a loooong time trying to find solutions to this problem so now I'm throwing it out there in the desperate hope that somebody will know what I'm doing wrong and can show me the light. Maybe there's some tutorials or information on this subject that I missed and hopefully there's some minor screw up on my part. Please is there anybody out there who can help !?! I beg of you. Thanks for your time and interest.
 
I'm also running into .vta problems. I think it's because I don't understand it enough though. I'm also using XSI and using the same workflow, but how do I tell my qc or qci file what/when you play those animations. Can anyone lend a hand? Thanks in advance.

Nathan
 
Back
Top