安装 Steam
登录
|
语言
繁體中文(繁体中文)
日本語(日语)
한국어(韩语)
ไทย(泰语)
български(保加利亚语)
Čeština(捷克语)
Dansk(丹麦语)
Deutsch(德语)
English(英语)
Español-España(西班牙语 - 西班牙)
Español - Latinoamérica(西班牙语 - 拉丁美洲)
Ελληνικά(希腊语)
Français(法语)
Italiano(意大利语)
Bahasa Indonesia(印度尼西亚语)
Magyar(匈牙利语)
Nederlands(荷兰语)
Norsk(挪威语)
Polski(波兰语)
Português(葡萄牙语 - 葡萄牙)
Português-Brasil(葡萄牙语 - 巴西)
Română(罗马尼亚语)
Русский(俄语)
Suomi(芬兰语)
Svenska(瑞典语)
Türkçe(土耳其语)
Tiếng Việt(越南语)
Українська(乌克兰语)
报告翻译问题


In this example, "coat.dmx" should have shape keys and flex controller definitions, while "shirt.dmx" should have shape keys without flex definitions.
(You could also swap it around if you'd like; The important thing is that the flex controllers are only defined in one of the files, despite the shape keys being in both of them.)
To avoid having flex definitions in a DMX export, use the "Source Engine Exportables" panel (in Blender) to give the "shirt" object "advanced" flexes instead of "simple" ones, then use this as the flex definition block:
Admittedly, I haven't tested that specific flex definition block, but it should probably work, I hope.
After that, re-export the "shirt" object as a DMX file. If everything goes as planned, Blender should warn you that there are shape keys without flex controller definitions. Then you should just have to re-compile the model, and then it should work afterwards.
$model "asdf" "cookie_body.smd"
{
flexfile "cookie_body.vta"
{
defaultflex frame 0
flex "something" frame 1
}
flexcontroller something range 0 1 "something"
flexcontroller FlexWithCoat range 0 1 "FlexWithCoat"
flexcontroller OneControllerFor2FlexesFromCoatAndShirt range 0 1 "OneControllerFor2FlexesFromCoatAndShirt"
%something = something
}
$model "coat" "coat_body.smd"
{
flexfile "coat_body.vta"
{
defaultflex frame 0
flex "FlexWithCoat" frame 1
flex "OneControllerFor2FlexesFromCoatAndShirt" frame 2
}
%FlexWithCoat = FlexWithCoat
%OneControllerFor2FlexesFromCoatAndShirt = OneControllerFor2FlexesFromCoatAndShirt
}
$model "shirt" "shirt_body.smd"
{
flexfile "shirt_body.vta"
{
defaultflex frame 0
flex "OneControllerFor2FlexesFromCoatAndShirt" frame 1
}
%OneControllerFor2FlexesFromCoatAndShirt = OneControllerFor2FlexesFromCoatAndShirt
}
So when u load model u will have 2 flexes from body and coat. and ONE flex working on coat and shirt at once
If u want to share flexes among $bodygroup
u need to declare flex on body smd and make flexes on !!!!!!!!!!!.DMX!!!!!!!!!! models that u put in bodygroups as CORRECTIVE SHAPE KEY in blender or whatever you use
or the save if u use .dmx on main model, but flexNAMES on main model and corrective flexes on bodygrouped models must be the same
It works perfectly. Amazing, I never would have guessed to do this. This bodygroup-flexes problem has bothered me many times in the past, so thanks a lot.
Hey, sorry to be reviving this old thread, but when you say “The important thing is that the flex controllers are only defined in one of the files, despite the shape keys being in both of them”, does this apply when there are more than two .dmx files in a bodygroup?
In my case, I’m making an updated smash bros sonic model port, and I made flexes for the mouth, so I have three different mouth .dmx models with the same flexes (one for the mouth on the left, right, and a “blank” mouth. Some of the flexes also control the shape of the muzzle). In this case, would defining the flex controllers for just one of them work, or would I need to define the flex controllers for the other two .dmx models so that the flexes work in SFM?
Also, just to make sure I understand what this would do, this would make it so that the one flex slider would affect all the models that have that same flex, or would this make an additional slider with the same flex name?
This isn’t important to the question, but if anyone is wondering, I’m trying to keep all the mouth models on one whole model rather than making a whole separate model for the left, right, and blank mouth like other sonic models on the workshop do because I already have separate whole models for each of his alts found in smash and I don't want to triple that if I can avoid it.
Let's pretend that the left and right mouth objects have flexes called "Smile", "Frown", and "Open Mouth", and that the blank-mouth object has flexes called "Smile" and "Gasp".
You should define "Smile", "Frown", and "Open Mouth" flex controllers in the left mouth DMX, and "Gasp" (but not "Smile"!) in the blank-mouth DMX, and no flex controllers in the right mouth DMX.
(If you'd like, you can probably(?) also define all of "Smile", "Frown", "Open Mouth", and "Gasp" in the left mouth DMX, even though "Gasp" isn't on the left mouth object, and not define any flex controllers in the right mouth nor blank-mouth DMXs.)