It includes multiple deformation modes and the option to lock the deformation axis. Blender 2. Quickly create a new quad mesh based on the volume of the mesh. It is particularly useful for sculpting, to generate a good topology when blocking shapes, as an alternative to dynamic topology without the performance cost of continuous updates.
Creates a quad mesh with few poles and edge loops following the curvature of the surface. This method is relatively slow but generates higher quality for final topology. Compared to the existing denoiser, it works better with more complex materials like glass, and suffers less from splotchy artifacts. It also gives better results with very low numbers of samples, which can be used for quick previews.
It's now possible to move object origins directly. This is an alternative method of adjusting the origin, previously only possible placing the cursor and setting an objects origins to the cursor. Most types of linked data-blocks can be overridden, and the properties of those overrides can then be edited. When the library data change, unmodified properties of the override one will be updated accordingly. Image objects can now be set to display only in side views for a better workflow when used as reference.
Improvements were made to rendered preview so it supports turning off all scene lights and custom world HDRI, for look development now also for Cycles!
Where you could previously rename the active item with F2, you can now also batch rename all selected items with Ctrl F2. The donation program to support maintaining and improving Blender, for everyone. The Good Got Better Download Blender.
The much anticipated update of the Blender 2. With over a thousand fixes and several important updates that were planned for the 2. Sculpting Rethought A complete overhaul of the sculpting workflow. Auto Masking Assigns a factor to each vertex before starting the stroke. World Spacing Keep an even distance between stroke points in 3D space. Great for sculpting near the edges.
Grab Active Vertex Snaps the maximum strength of the grab brush to the highlighted active vertex, making it easier to manipulate low poly models or meshes with subdivision surfaces. Normal Radius Control how sensitive the sculpt normal direction is to the underlying surface. New Cursor Dynamic Mesh Preview. The cursor now is aligned to the surface normal, displays symmetry and a preview curve fall-off. Mask Filter Modifies the whole paint mask. Mask Expand Creates a mask from the active vertex to the vertex under the cursor based on topology or mesh curvature.
Mask Extract Extracts the paint mask to a new mesh object. Mask Expand by Curvature Mask Extract. Pose Brush Pose a model simulating an armature-like deformation. Elastic Deform Brush Based on Pixar's paper Regularized Kelvinlets: Sculpting Brushes based on Fundamental Solutions of Elasticity , this tool lets you grab, biscale grab, triscale grab, scale and twist operations while preserving volume.
Translate, Rotate, Scale Use the familiar transform tools now also during sculpt. Draw Sharp Brush Similar to the draw brush, but it deforms the mesh from the original coordinates. Mesh Filter Tool Applies a deformation to all vertices in the mesh at the same time. Remeshing Blender 2.
Also remember that Valve materials must be to the power of 2, meaning the widthxheight combination must be 32, 64, , , , , , etc so if you start combining textures the end result must be to the power of 2.
Just scaling a texture to the power of 2 will cause texture warping on the model. Instead of scaling, the canvas should be resized and the UVs moved to match the new match the new location of the requires texture part.
This video shows how to combine textures and fix the the UVs. The same process would be used if you are just resizing a texture. It is possible to create taunt animations in SFM and import them into Blender for editing, however the process is a little tricky.
This will create a new DMX file. However when you try to import it to Blender, the animation will error out. Valve has provided a neat command line program called DMXConvert. I right click on the Sniper's Animation set and select Export - Taunt Animation, then set up the number of frames for the taunt.
The rest of the screen I pretty much leave the default settings. This is a snippet of the resulting DMX. If you click the image you'll see it is plain text "readable" If you try to import this DMX to Blender as is, you'll receive an ERROR like this To be able to import the animation it has to be converted to a binary dmx. Open a command prompt session as an administrator.
Playing the animation, you "should" see the bones move. Selecting bones in Pose Mode will cause the Time Line to display the animation keystrokes for that bone. Use the nomal Blender processes to edit the strokes. Note: I have tried to reattach mesh to these animations however I find that the mesh is totally deformed and does not attach properly to the bones no matter what model type i use ie modelscr, decompiled SFM player, Tf2 Player or SFM HWM model.
I'm still investigating this. In other words, it is a bone that is moved by the game engine based on the physics of the engine gravity, wind, how the model moves, etc, not moved by you or a script! I've thrown some wonky jiggles into the ponytail here to just to demonstrate More on this in a bit.
So, how do we add these to our model? The answer is As you saw in the gif above, the highlighted bones in this picture are jiggle bones. Unfortuanately there is no way to see the jiggle effect in Blender, so everything from here on out is QC related and it becomes the pain staking process of trial and error. Even if you get the effect you want displaying in the Half Life Model Viewer, there is no guarantee that the result will be the same when you port the model to SFM.
These are the definitions that I've used for the model in this example. We touched a little bit on fixing flexes and shape keys in the MMD model section. But what if there are no flexes on the model at all? In this section we're going to touch on basic flexes, how to set up the model, set the shape keys and apply the flex. We'll also get into the adding stereo controls where required. We won't be getting into corrective shapes, dominators or wrinkleScales other than to say this is where your set that stuff up.
Shape keys control the deform of mesh objects, NOT bones. Shapekey can be used to move things like mouths, eyelids and brows, make expressions and set up phoneme poses on faces and can actually deform or move mesh to be hidden inside a model, like the spy's ciggy. Now that a shape key has been assigned to the object, ANY Mesh changes made to the object in Edit mode will be applied to the selected shape key.
If you find that you have to make changes to the mesh after starting to assign shape keys, make the changes with the BASIS shape selected, then check each shape key added to see if there are adverse effects the changes made on the shape and correct them. Also, if you have un-applied modifiers on the object, most will cause Blender to generate an error telling you that the modifier can't be applied to objects with shape keys when you try to apply them. This is probably one of the most frustrating process to get right on your model.
I struggle through it everytime I try to add them. However thanks to a project I assisted Confederate Joe with, I developed a better understanding of the process. Thanks Joe!!!! Now that we've covered simple flex keys let's get some movement in the eyes.
This can be accomplished a couple of ways, the first being to use textured orbs and using bones to move them. We've already covered adding bones, weight painting and posing in earlier segments. If that is what you're going to do, stop reading here and carry on rigging your model.
However, if you want to learn how to give your model Valve type eyes that use dynamic irises which float over another texture and are poseable using flex controls, Read On! First were going to talk about the Eyeball qc command. For the eyeball command to work, each eyeball must have its own material. So let start there in Blender Select the mesh that will make up the eyeball for one of the eyes. Create a new material for it and give it a unique name and assign the mesh to that material, deselect the mesh.
Do the same for the other eye s , select the mesh, create a new material, give it a unique name and assign the mesh to the material. I'm pretty fortunate here, my eyeballs are orbs. Now, make sure your eyeballs materials have a texture and that the eyeballs UV maps have been assigned to the textures properly. The texture for the materials can be the same texture, but the uv's have to be mapped properly to it. You should get a screen that looks like the one on the left when it opens.
Using this program and coordinates from the eyes in Blender we are going to come up with the required QC statement. I'm only going to give a brief overview here and set up the eyeballs only.
If you need more information on how to use this program or want to want to know how to add values so the eyeballs interact with the eyelids of your model, click the Eye Position Setup link provided above. Ok, Back to Blender, with your eyeballs in edit mode and your model in wireframe mode, hover the mouse over the 3d viewer and press N untill the Viewer property panel is open.
Select the mesh of one of your eyeballs the press Shift S and select Cursor to Selected. What we have to do is find the center of the eye on all 3 axis X Y Z.
As I said, I'm fortunate here as my eyes are orbs or spheres. Finding my coordinates is not going to be that difficult. However, finding the Y position on a model standing on the Z axis Z-up or the Z position for a model that is standing on the Y axis Y Up that has almond eyes that connect to the head like the TF2 Characters is going to be a bit more difficult. There you will find the coordinates required for the X Y Z locations.
If you know what needs to go into the qc from here, add it and compile your model. You're done. If not or your eyes just don't work or are invisible,read on. Fill in the required fields and make sure that you select the correct 3d Platform UP axis for your model.
We're not going to cover the other setting for the lids, at least not yet. Click the Create QC Text button The model has to be recompiled to see if the code works. Elements will be discussed a little further below. Before the model can be compiled, the special materials for eye have to be set up. The vmt uses a special EyeRefract shader and has a lot of other elements in it such as the vtf call to the material that creates the iris, a special Cornea material, an ambientocculsion material and a bunch of numeric variables that define the eye.
Each eye has its own material as we setup in Blender. The best thing to do is edit an existing material for one of the TF2 Characters. Eventhough it looks pretty complicated, it isn't really. As you work with this more and tweak your eyes, adjusting the values will become second nature. Remember you can click on images to blow them up! Well out of space for this section, move on to the next chapter I guess now is the best time to go through the QC and VMT variables we've added and see how they work together.
For this section I will define the command with an explanation of what it is or does. For human type characters the names are righteye and lefteye. Attachment Bone - this is self explanatory and is usually the head bone. XYZ - these are the coordinates to the center of the eyeball. Each eye must have a unique name. Diameter - this is the width of the eye when viewed from the front and is used to stop the eye from rolling completely in to the head.
The iris will travel in a circle on the eye, even if your eye shape is oval. Adjustments are made on the flex controller statement. If you look in a mirror at your eyes, you'll see that that are tilted inward toward the nose the don't look straight out, also known as wall-eyed.
Most humans have a degree inward tilt for lack of a better word. Not setting this properly could cause you model to be cross-eyed. Moving the center xyz forward or back to compensate for crossed eyes will cause flex problems tracking left and right. I did this because the Iris material will be defined in the eyeball VMT.
If the Group is not defined in that file, the flex will end up in the Unknown Controls group. Range - the minimum and maximum value of the flex. If the min is a negative number the slider will offset from the center point based on the difference of the min and max numbers from zero. In other words a min of and a max of 45 the slider handle will be in the center.
A min of and a max of 50, the slider handle will be closer to the left than the right. For eyes, the range usually does not exceed somewhere around min and 45 max. But this is one of those values that will need to be tweaked based on the model. The max value must be greater than the min, or the slider will not work.
You can nest groups inside other groups like this It is a material the tints image pixels dependent on its brightness. It is usually a gradient black left to white right texture. If not spedified it will default to. If used and not given a value, it will cefault to [0. I've tried to find more info on how this affects the eyes, but came up blank.
If you want to learn more, look up eyerefract on the developer wiki at the link given earlier. Okay, so you followed the guide and have set everything up correctly.
You compile the model, reviewed it in the HLMV and the eyes seemed to track okay with the look at camera option turned on. Apparently this is a known problem and I want to thank NotJames for bringing this to my attention so I could document it. So, Rewrite the QC and include attachment points for both eyes, coords should mirror the locations of the eyeball commands, recompile, try again I have had this problem before and have used this fix, but thought it just the model I was working on at the time because other models had only required an attachment point for the center of the eyes.
I said I wasn't going to cover this earlier, however after much research not finding anything on the subject for DMX exports and trial and error to get something to work, I decided that this should be documented somewhere. So, here we go.
First thing you have to do is set up 2 Eyelid flexes on your model. One that completely closes the eyes using the upper eyelid and one that completely closes the eyes using the lower eyelid. Underscore will change your Flex into a Corrective Shape and we don't want that. Now come the fun part and let see if we can get this to work In Blender Spit the work area and open a Text Editor Now 1. Select the scenes property panel 2. In the Blender Source Tools select the object that contains your flexes 3.
Change the Flex Properties from Simple to Advanced 4. This is the name of the DMX Controller file 6. Find the text object that is the same name as the filename that is in the Controller Source Box and double click it to open it.
Ok, in the text Find the the reference to your Lower and Upper Lid flexes This is where we are going to combine those to flexes and make them an Eyelid Controller. In the Lower Lid Controller segment, Find the "rawControlNames" line, move over to the opening Square Bracket and move it to a new line by pressing enter.
Now do the same for the opening quotation mark of the control name so it places the name under the opening bracket.
Now to finish the code Find the "name" "string" line and chane the name to something like "CloseLid", move down to the "eyelid" "bool" line and change the value from 0 to 1, move down to the "flexMin" line and change the value from 0. So the completed code should look like this QC Time When using DMX files as source, you don;t have to do anything to the qc for it to find the Eyelids.
Any shape you did not edit the text for will operate the same as if you were using SIMPLE Flex Properties for, It's just that now you can see those calls in this new text file we've been editing.
All we have to do now is Export the model or only the obj that has the flex we edited if you didn't change any of the other blender objects since the last export and recompile the model Good Luck!!!
Not like what you see below, this is just the tutorial model, used for quick demonstrations Before I start, I want to say this Thanks Revzin!! Without your guide, I would not have a clue about this stuff! Now that you've seen one of the benefits of Advanced ShapeKeys in the Eyes section, Let's get started in creating some. The name you give the Shapekey will be the name that is added to the model. You can not combine different shapes without creating a new shape from mix.
Advanced ShapeKeys is what you need to be able to do those type of functions, but Advanced ShapeKeys require a bit of work in order to make them work. So what is a Simple Flex control and what is an Advanced control. Look here Simple Controls Advanced Controls If your model has a winkle map, Advanced Shapekey is where you would apply the amount of Wrinkle the flex creates. This can not be accomplished using Simple Shapekeys. When you export your model, and an object has shapekeys, you have to determine if you're going to just use Simple keys or Advanced keys, you can't use both on the same object.
However, because the choice to use Advanced or Simple Shapekeys is Object based, if you have more than one object in your model that have Shapekeys, then one object can use Simple and the other Advanced. If you've already worked through the Eye Section of this guide and have created Eyelids for your model, you've already touched on Advanced ShapeKeys.
Now it's time to get a little more "Advanced". I am only going to brush the basics of Advanced ShapeKeys. I will show how to rename Flexes, and create Split and Stereo controls.
I'll dust over Wrinkle map setting but will not be getting into Dominators and Suppressors. Also I will not be covering Corrective shapes. These are topics that I still have to research and understand before I can comment on them.
For example, there are 2 types of Corrective Shapes, Absolute and Relative. Absolute Corrective shapes are easy to work with, however Studiomdl prefers Relative Corrective Shape. At the present time and from what I've read so far, Absolute Corrective Shape need to be run through a python script to create the Relative Corrective shapes required. That is way beyond the scope of this document. As I stated before, Advanced Shapekey require a bit of set up before they can be used.
So, let's get started. The first thing I'm going to do is have a look at the various objects that make up my model. By switching to the Blender Source Tools Property panel and looking at the Source Engine Exportables, I can quickly see the objects that contain shapekeys and I can see that I am going to have a problem.
Any given model compiled from DMX files may only have up to flexes. My model has 3 objects with flexes, totalling flexes. Just to prove this, I exported the model and tried to compile it, the black box on the picture is the error I received. Click the image to blow it up Further to this, if I step through the ShapeKeys of each object, I'm going to find that the names are all the same.
This is not allowable on a single model. If I were able to compile this model, I would find that any shape on the main object the head that has the same name as any shape on the other objects will not work on the compiled model.
The reason being that the model cannot tell what vertexes the flex has to move. SFM becomes confused, breaksdown and goes and sulks in a corner. So to fix this I have 2 options. Changing the Case does not count as a different name Delete Shapekeys until my total count is or less OR Option 2: Walk through the objects and inspect them to see if blending them into one object makes sense. Rename shapes that named the same that I don't want to merge.
Select the the objects ensuring the one you want to be the master is the active object and join the objects together into one. Blender will patch the shapekeys of the joined objects together and keep the vertices that are being moved by the same named shapes.
For example I have a shape called Blink-Left on all 3 objects, the shape key on the body object moves the left eyelid, the shape key on the eyelashes object moves the eyelashes and the shapekey on the eye object moves nothing. When I join the 3 objects together into 1, the Blink-Left shape key will move the eyelid and the lashes the same way as they did when they were separate objects. In my case, I want everything to Blend together so Option 2 is the best bet for me.
I join the 3 objects together, the shapekeys merge giving me proper shapes and I also reduce my ShapeKey count from to This will make BleST think it's a Corrective Shape and as long as the name on the left and right side of the underscore isn't an actual shapekey name, it won't be applied to anything. However I would suggest deleting any unused shapes from the Blend file, the code and shapes from the changed names may still be written to the model, making the model filesize larger than it needs to be.
Ok, to keep this simple, I am only going to use 15 of the 50 ShapeKeys that I normally would. I have them setup now so that they move both sides of the face like I want them to. I could add more, or combine different shapes mixes and create new keys, but for this tutorial i think this is all I need. Now that the shapes are setup the way we want, there's one more thing to do before we start creating the advanced keys.
The DMX Stereo Balance is the mechanism used to smooth out the in-between blend across the center axis of your flexes if you apply a stereo control. If you set this too tight to the center then your stereo flex is going to apply from the center point to the outer vertices of the the shape.
Set it too loose then when you apply a left side flex, then the the flex could extend all the way across to the outer vertices of the right side of the flex.
As this can only be set for once for the entire set of shapes in the object, you have to determine if you really want to use a stereo control or actually make 2 separate shapes 0ne for the left side or one for the right side. The box will change giving you more options. The one we'e interested in right now is the Stereo Flex Balance tool 3 in the picture.
BleST gives you the option of how you can define the center point of the stereo control. Depending on how your model is laid out on the axis, you would pick the axis that splits the left and right of your model. Once you determine the axis you want to use, you have to now set the sharpness that the flex is going to blend across the center point.
If your model is not symetric or your flexes are not relative to an axis, you can create a vertex group and weight paint the Stereo Balance. Like this. With that, setup is now complete. If you have Grouped your mesh objects into a group and you have multiple objects that have Shapekeys, when you press the Advanced button and the Stereo Flex Property panel opens you may see multiple Sharpness sliders.
The sliders will appear for all mesh objects that have ShapeKeys. Like this Time to create the code that DMX coding that is required and needs to be edited in order to create the advanced flexes.
Sounds Scary!!! LOL , but it really isn't that hard, just time consuming depending on how many shapes you need to edit. BleST is going to automatically generate the code, it will be a plain language text file, all you have to make some minor edits to it; and this can be done right in Blender!!!! Here's the process Split the work area screen 2. Open a Text Editor in the new area 3. Click on Generate Corrective Shape Key Drivers For you who are more advanced than me and play with corrective shapes, this will create or update the Animation Drivers for your Shape Keys that are actually Corrective Shapes anytime you press the button, so you can play with the shape keys and not have to worry about manually updating drivers.
Just press the button when your done and away you go. Be cautious if you are using Corrective shape, according to the BleST help information; "The algorithm for applying corrective shapes is not guaranteed to match Source's, so always check your work in HLMV!
Click the Generate Controllers button. This will create a Blender "packed" or "linked" text file meaning that the file will always be available to you in the Blender File after you save the Blender project.
If you need to delete it, you have to "Unlink" it. It will look like nothing happened so Use the scroll bar of the Text Editor panel to scroll to the top of the page and 7. You should see the DMX Code that was generated by the process. The code is going to look pretty confusing until you get use to it and if you created shapes for the eyelids the code for them will be here as well. I did not create eyelids for this example as I just want to concentrate on the other flexes in this section, if you did, go back the the "These Eyes" section to see how they have to be set up.
This is the code that is passed to the model as if you were to use Simple ShapeKeys, so if you were to export and compile the model at this point, that is all you would get, simple flexes. The code needs to be edited, elements joined together and switches toggled in order for it to create Advanced controllers. So, let's look at the elements of a single shapekey to get a better understanding of what is being seen The DMX Header Now for the magic No more multi definitions, no more worrying if you need to define a flex controller or a flex pair, no more calculations, just some simple cut and pasting and turning toggles off or on.
Let's take the first to Flex Controller Definitions from the file There is very little information available on the DMX format. Other than the information that Revzin has provided in his documentation, the only real information I find on the DMX file format is in the Valve Developer Wiki found here If you scroll to the bottom of the DMX Controller file, you're going to find the following A closing square bracket ] which closes the DmeCombinationInputControl elements then the following control values Each and every controller has a controlValues and a controlValuesLagged vector3 entry.
Each vector3 array is defaulted to "0. The usesLaggedValues is defaulted to 0 which means off or false The dominators and targets element array values are defaulted to nullstring arrays.
It is best to leave these elements alone, unless you know what you're doing. Changes CAN cause a model to crash SFM immediately and without warning if they are incomplete or wrong and you attempt to load the model. Now for a real life more advanced situation. You have just finished your model with over shapes and it's a really really excellent model. You export the model and compile it, load it up in SFM and find that you somehow forgot to include a mouthopen flex, or you used the mouthopen flex in a combination and didn't create a separate shape to open it so now the lips stay pressed together and moving all the flexes doesn't open the mouth at all, but every other flex controller works perfectly.
You come back to your model in Blender, find the open mouth flex and create a new shape from the mix. You switch to the text editor and open the new file and DOH!!! What are you going to do? You really don't want to spend another hour redefining the controller file, do you?
Ok, you have 4 options, all involve manually updating one or the other DMX file. Option1: Take the time and redo the entire new controller file, redefining the shapes. Option 2: Split the work area and load another text editor in the new screen. Open the old dmx controller definition file in the new screen. In the new Definition File, find the new controller definition s in the new file and make sure you remember where they are delete the other controller definitions ensuring you DON'T delete the new controller definition s , the Header or the Footer Go to the Old definition file and copy the definitions from that file They all work perfectly right?
In the proper element location between the header and the footer check the last line of the definitions to ensure that last line all definitions except the last one end with the continuation curly bracket and comma and the last definition ends with just the curly closing bracket. Everything should work properly because the required number of 3vector values in the footer were generated when you created the new file. Option 3: The reverse of option 2. If you did it correctly everything should work as intended including your new flex.
Option 4: The option I usually use This is not really that hard to do. We can create one by using the Python Console in Blender using 2 simple Python commands. Spit the work area and open the Python Console in the new screen on the command line type import uuid and press enter then type uuid.
This has to be done for each new control added. As a warning, I do my ALL my videos in a manner so that they are easy for a new user to follow and over emphasize steps. I also throw errors into the mix and make it look as if I am having a hard time with them to show problem solving techniques. Those who have more advanced skills using Blender may find them rather draggy and repetative. To these people who view my videos, keep the above in mind. The repetition and slow pace is intended, so don't criticize that.
Just flip through the video and find what it is you're having problems with. We also get your email address to automatically create an account for you in our website. Once your account is created, you'll be logged-in to this account. Disagree Agree. Notify of. Inline Feedbacks. Recent uploads. Ethical Hacking: Enumeration with Malcolm Shore — LinkedIn — Free download Enumeration is designed for ethical hackers who want to build their skills in reconnaissance COM - All rights reserved.
Would love your thoughts, please comment. You are going to send email to. Move Comment.
0コメント