STEAM 组
Blender Source Tools BleST
STEAM 组
Blender Source Tools BleST
296
游戏中
1,895
在线
成立于
2013 年 11 月 8 日
所有讨论 > Help > 主题详情
ficool2 2016 年 8 月 4 日 上午 5:21
Animations distorted when exported
Hello, I am making CS:GO ports over to various games. I am currently focusing on Counter Strike: Source. I want to replace the AK47 with the CS:GO model with animations. I decompiled the CS:GO model and noticed that Crowbar doesn't support CS:GO animations yet. So, I went into Source Filmmaker, loaded the CS:GO animations and exported them as .dmx and then launched Blender, imported the .dmx and exported it is as a .smd file. I noticed Source Filmmaker decided to export the animation with 15000 frames, so I edited the .smd file with Notepad++ to remove all the "time" lines from 31 to 15000.

After setting up the animations by rotating them into place and removing some bones, I compile the model and test it in-game. However, the animations are on the left side of the screen instead of the right side. I have left hand mode disabled. I go check the vanilla AK47 files in Blender and the animations are placed on the left side! This means that the game inverts the animations in-game.

So after that, I load up the CS:GO AK47 draw animation and I go into Pose Mode, then I select everything, then I go to Pose > Copy Pose. Then, I go to Pose > Paste X-Flipped Pose. This flips the current frame on to the left side. I then insert a keyframe by Location, and I do this for all other frames. When I'm done, I play the animation. Everything is working correctly. I then go to export the animation. I then load up the exported animation in Blender to make sure that it is working. Nope. The bones are distorted and in the wrong place. The fingers and arms are out of place and rotated in weird angles. Yep, the animation flip which I did earlier caused the animations to be distorted after exporting.

I have spent 2 hours looking for a solution but nothing helped at all. Does anyone know what the issue is? I think it might be a bug with the export tools.

Sorry for the long post, I want it to be explained as clearly as possible so that people know what I am talking about.
最后由 ficool2 编辑于; 2016 年 8 月 4 日 上午 5:22
< >
正在显示第 1 - 15 条,共 17 条留言
Artfunkel 2016 年 8 月 4 日 上午 10:33 
You'll need to export the reference mesh as well as the animation when you change the bones like that.
ficool2 2016 年 8 月 4 日 下午 12:28 
引用自 Artfunkel
You'll need to export the reference mesh as well as the animation when you change the bones like that.

So would I need to load the AK47 and CS:GO arm models and then load the animations and export?
Artfunkel 2016 年 8 月 4 日 下午 12:55 
If your animation applies to both of those models, yes.
ficool2 2016 年 8 月 5 日 上午 7:37 
引用自 Artfunkel
If your animation applies to both of those models, yes.

One more question, how can I change the order of bones in animations/models?

For example, in a .smd opened in notepad there is something like this:

version 1
nodes
0 parent_bone -1
1 left_upperarm 0
2 right_upperarm 0
3 left_lowerarm 1
4 right_lowerarm 2
and the list keeps going until this line:
end
skeleton
time
0 3.0006314 4 92 1 -4 -18.3222
1 4.000002 83 0 -1 -6.688 -32
2

Is there a way to change the order of these?

All of my .smds have different bone ordering and I need them to all have the same bone ordering because I need to modify some finger positions and its a pain to do all of it manually.
最后由 ficool2 编辑于; 2016 年 8 月 5 日 上午 7:44
Artfunkel 2016 年 8 月 5 日 上午 10:20 
The order depends on the order in which the bones appear within the Armature. Make sure that all your animations are on the same armature object and export them and everything should be the same.
ficool2 2016 年 8 月 5 日 上午 11:52 
引用自 Artfunkel
The order depends on the order in which the bones appear within the Armature. Make sure that all your animations are on the same armature object and export them and everything should be the same.

How would I change the order in which bones appear with the Armature? Sorry for so much questions, I am not that good at Blender and recently started using it.
Artfunkel 2016 年 8 月 5 日 下午 12:48 
I don't think you can. Just make sure that you don't have multiple copies of the same armature from different sources. If you have the ref mesh and animations in different blend files, link or append the armature from the ref mesh one to ensure that it's the same everywhere.
ficool2 2016 年 8 月 5 日 下午 12:58 
引用自 Artfunkel
I don't think you can. Just make sure that you don't have multiple copies of the same armature from different sources. If you have the ref mesh and animations in different blend files, link or append the armature from the ref mesh one to ensure that it's the same everywhere.

I noticed that in the Dope Sheet that the list is there, which are called channels, and you can move the channels up or down. I think you might be able to change the order with the Dope Sheet channels, I'll try it out.
ficool2 2016 年 8 月 5 日 下午 1:51 
引用自 Artfunkel
I don't think you can. Just make sure that you don't have multiple copies of the same armature from different sources. If you have the ref mesh and animations in different blend files, link or append the armature from the ref mesh one to ensure that it's the same everywhere.

Yes, you can change the order with the Dope Sheet. However, for some reason, I only managed to change the order of one animation when exported and all others still have the same order. No idea why. The order change only worked for that one animation :/
ficool2 2016 年 8 月 6 日 下午 2:56 
引用自 Artfunkel
If your animation applies to both of those models, yes.

Last question and I can compile the model, when I load the CS:GO ak47 arms and Counter Strike Source arms (which are rigged exactly like CS:GO arms), and then load an animation, the entire ak47 and arm mesh just messes up and the bone positions are completely out of place. I have no idea what happened. The bone names are all the same, and the CS:GO ak47 and CS:S arms have the exact same skeleton. This is the last thing that is stopping me from porting the models.
Artfunkel 2016 年 8 月 7 日 上午 12:42 
It's hard to suggest fixes for "just messes up".
ficool2 2016 年 8 月 7 日 上午 4:13 
I̶'̶l̶l̶ ̶s̶h̶o̶w̶ ̶s̶o̶m̶e̶ ̶i̶m̶a̶g̶e̶s̶.̶

̶L̶i̶n̶k̶:̶ ̶h̶t̶t̶p̶:̶/̶/̶i̶m̶g̶u̶r̶.̶c̶o̶m̶/̶a̶/̶S̶C̶A̶J̶y̶

̶F̶i̶r̶s̶t̶ ̶2̶ ̶s̶c̶r̶e̶e̶n̶s̶h̶o̶t̶s̶ ̶s̶h̶o̶w̶ ̶h̶o̶w̶ ̶i̶t̶s̶ ̶s̶u̶p̶p̶o̶s̶e̶d̶ ̶t̶o̶ ̶l̶o̶o̶k̶ ̶w̶i̶t̶h̶ ̶a̶n̶i̶m̶a̶t̶i̶o̶n̶s̶ ̶a̶p̶p̶l̶i̶e̶d̶

̶N̶e̶x̶t̶ ̶3̶ ̶s̶c̶r̶e̶e̶n̶s̶h̶o̶t̶s̶ ̶s̶h̶o̶w̶ ̶w̶h̶a̶t̶ ̶h̶a̶p̶p̶e̶n̶s̶ ̶w̶h̶e̶n̶ ̶I̶ ̶i̶m̶p̶o̶r̶t̶ ̶a̶n̶i̶m̶a̶t̶i̶o̶n̶s̶

I found the problem, I simply used CS:GO arm models instead of CS:S arms. Works perfectly. The animations don't distort anymore when I load the animation.

I still have the problem where exporting the animation causes it bug out. I loaded the CS:GO arms and CS:GO ak47, and loaded the animation. I then flipped the animation and exported. When I exported, it showed an error message saying "WARNING: Armature "v_rif_ak47_reference_skeleton" has non-uniform scale. Mesh deformation in Source will differ from Blender.".

I think it would be easier to send you the files so you can look at it yourself. Or, you could add an Mirror option when importing a model/animation. Though I guess that would be a lot of work.
最后由 ficool2 编辑于; 2016 年 8 月 7 日 下午 12:29
Artfunkel 2016 年 8 月 11 日 上午 10:25 
Is the error message not clear? You need to make the scale of your armature uniform.
ficool2 2016 年 8 月 11 日 下午 12:09 
引用自 Artfunkel
Is the error message not clear? You need to make the scale of your armature uniform.

How would I make the scale of my armature uniform? I am really sorry for those dumb questions, I have difficulty understanding everything :/
Artfunkel 2016 年 8 月 13 日 上午 8:09 
Make the scale of every axis the same, e.g. 1.5, 1.5, 1.5.
< >
正在显示第 1 - 15 条,共 17 条留言
每页显示数: 1530 50

所有讨论 > Help > 主题详情
发帖日期: 2016 年 8 月 4 日 上午 5:21
回复数: 17