Interesting article comparing the differences between blender 3 and 2.9, for those who are still using version 2.93 LTS or earlier
Blender
-
-
I've recently been importing CS:GO buy menu animations into Blender. The thing with buy menu animations is that they are actually two separate SMD animations blended together. I managed to come up with a workflow on how to do this in Blender (this only works player models located inside the custom_player folder):
- First, I installed Blender Source Tools and io_import_vmf.
- Then, using Crowbar, I decompiled animset_uiplayer_buymenu.mdl, which is located inside models/player/custom_player/uiplayer
- In Blender, I imported my CS:GO agent from the custom_player folder using io_import_vmf's Source Engine Model (enhanced) option. In this example, you'll see that I imported John 'Van Healen' Kask (ctm_swat_variantg).
- Using Blender Source Tools' SMD import, I navigated to the decompiled animset_uiplayer_buymenu_anims folder and imported a_buymenu_motion.smd. Before pressing the import button, I made sure the Bone Append Method was set to Make New Armature.
- Selecting the imported model's armature, I once again used BST's SMD import and once again navigated to the animset_uiplayer_buymenu_anims folder, this time selecting a non-motion pose (they all start with either ct_ and t_). I also made sure the Bone Append Method was set to Append to Target. When the SMD is imported, you'll see your CS:GO model go into the buy menu pose. This model, though, will be completely still.
- In a secondary viewport, I changed the viewport to NonLinear Animation, which at this point looked like this. Under the ctm_swat_variantg armature, I clicked the Push Down Action button, causing the buy menu pose to go onto a new track.
- Now time to add the motion. With the focus still in NLA, I pressed N, which brought up this menu on the right.
- In that menu, I clicked the Dope Sheet button and selected the a_buymenu_motion option .
- Finally, under Extrapolation, I selected Hold Forward, while for Blending, I selected Add (the menu should look like this). Now you have a model that not only has a buymenu pose, but also looks alive.
I'm a noob at Blender, so it would be nice to see if anyone else here has a better way to combine animations.
-
@sn0wsh00I have no experience with the NLA editor myself, but would recommend asking for advice from users at blenderartists.
-
There are two main ways to directly import Source Engine model into Blender: SourceIO or io_import_vmf. In addition to importing meshes, both tools are able to import materials, to a certain extent. For CS:GO models, both tools import materials with no problems. For TF2 models, though, I've had to manually import head, eye and hand textures.
The way these two tools convert Source textures/materials into shader nodes are different. SourceIO uses the BlenderVertexLitGeneric node group in their materials, a node group that's pretty complex, while io_import_vmf uses a much simpler shader node setup.
I haven't seen anyone compare these shaders yet, so here's a comparison with the TF2 Demoman, rendered in Cycles. io_import_vmf shader is on the left while BlenderVertexLitGeneric is on the right:
[Blocked Image: https://i.imgur.com/8ZeO4IY.jpg]
Here are the head texture shader nodes for io_import_vmf and BlenderVertexLitGeneric. For the io_import_vmf body textures, I set Specular Tint to 0 and Roughness to 0.700:
Spoiler [Blocked Image: https://i.imgur.com/W0nlKBI.jpg]
[Blocked Image: https://i.imgur.com/XhZ81hX.jpg]
And here's a comparison of the two shaders with CS:GO's Getaway Sally (again, io_import_vmf shader is on the left, BlenderVertexLitGeneric is on the right):
[Blocked Image: https://i.imgur.com/RJfRiMc.jpg]
Here are the head texture shader nodes for io_import_vmf and BlenderVertexLitGeneric. For the io_import_vmf body textures, I set Specular Tint to 0 and Roughness to 0.396:
Spoiler [Blocked Image: https://i.imgur.com/7kcXzkr.jpg]
[Blocked Image: https://i.imgur.com/7Max5st.jpg]
Overall, despite using fewer nodes, I think the io_import_vmf renders look really similar to the BlenderVertexLitGeneric render. If you don't like the shiny light in the io_import_vmf models, you can simply crank up the roughness.
-
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!