Blender for XNA
Total Page:16
File Type:pdf, Size:1020Kb
Blender for XNA Levi D. Smith @GaTechGrad www.levidsmith.com July 2013 CodeStock Knoxville, TN Blender History • Developed by Ton Roosendaal in 1995 • Funding campaign in 2002 to GPL the software • Blender Foundation • Project Orange, Peach, Mango, Durian • http://www.blender.org/blenderorg/blender-foundation/history/ • http://en.wikipedia.org/wiki/Blender_%28software%29 Professional Use • Can Blender be used for professional quality graphics? Elephants Dream (2006) http://www.youtube.com/watch?v=TLkA0RELQ1g Big Buck Bunny (2008) http://www.youtube.com/watch?v=YE7VzlLtp-4 – Sintel (2010) http://www.youtube.com/watch?v=eRsGyueVLvQ – Tears of Steel (2012) http://www.youtube.com/watch?v=R6MlUcmOul8 What do You Need? • Visual C# Express 2010 o http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express • XNA Game Studio 4.0 o http://www.microsoft.com/en-us/download/details.aspx?id=23714 • Blender 2.67 o http://www.blender.org/ • 2D Texture Editor o Gimp, Paint.NET, Microsoft Paint Views • Selecting the view – Numpad 7: Top View – Numpad 1: Front View – Numpad 3: Right Side View – Numpad 5: Orthographic (see gridlines) – Ctrl + Numpad: Other side (bottom, back, left side) • Note: All commands are for Blender 2.6 Cameras • Numpad 0: Camera view • Helpful for positioning view • Ctrl + 0 select camera when using multiple cameras • Right click on line between panes to split screen – Multiple concurrent views of scene • F12 renders the current scene • F3 saves image Modes • Change modes with Tab • Object mode – Lock location and size for XNA – Location: (0, 0, 0) Size: (1, 1, 1) – Vertex coordinates in XNA are relative to orange anchor dot • Edit mode – Select vertices, edges, faces – Move (translate), rotate, scale Creating an Object • A – Select All / Select None • B – Box select • E – Extrude • X – Delete • These can be applied to vertices, edges, and faces • Ctrl + Mouse button – free select • Z – fill object; select only one side Modifying the Object • G – Translate (move) • R – Rotate • S – Scale • Follow operator by X, Y, or Z to lock movement to that axis • Follow operator by number to translate, rotate, or scale by that value Armature • Add a bone to your object • Select point on bone in edit mode and extrude to add new bones • Make sure your bones are aligned with your object • In object mode, select armature and object • Ctrl + P, with automatic weights to assign armature to object Weight Paint • Select mesh in object mode, then select Weight Paint mode • Used for finer control of assigning vertices to bones • Change selected bone in object browser under Vertex Groups Posing • Pose mode to move armature – Must have armature selected to enter Pose mode • Record button - automatic keyframing – Not recommended • Dope sheet / action editor • I, LockRotScale – insert keyframe – Must be in Pose mode! – Make sure all bones are selected (A) • Can duplicate keyframe using select then Shift + D Animation • Walk cycle • Ctrl + F12 to render images • Images stored in “Output” folder (default C:\tmp) • Select “RGBA” to keep transparency Render a Face • Start with default Cube • Subsurf modifier – High value for CG image, low value for objects to be rendered in real time (games) • Ctrl + R – Loop cut • Mirror modifier – Delete half of the object • Proportional Editing Tool – O Key Render a Body • Set background images as a guide • Export FBX for XNA – Blender Z Up coordinate system – XNA Y Up coordinate system – Rotate 90 degrees on import – Both use “Right Hand Rule” – Select “XNA Strict Options” • Skinned Model Processor • Many models will cause slowdown – Hardware Instancing to draw multiple models efficiently Other Useful Options • F – Make face from selected vertices 3 or 4 selected vertices only • Remove doubles (button) Change merge threshold if no vertices are removed Vertices to be merged must be selected • Shift + D – duplicate object (or vertices/faces) • Ctrl + J – join two objects • Alt + F – fill (generate triangle faces for selected vertices) • Ctrl + T – generate triangles faces from quad faces Texture Mapping • Split View • Change new pane to UV/Image Editor • UV Pane: Image > Open Image > Select your texture • View Pane: Face Select Mode, then select faces • View Pane: Mesh > UV Unwrap > Select unwrap method • UV Pane: Scale and position vertices on texture • Select Texture tab • Set Type to “Image or Movie” Texture Mapping continued • Texture Tab: Under Image, select open and select the texture used • Texture Tab: Under Mapping, select “UV” for coordinates • Texture Tab: Under Mapping, select “UVMap” for map • Press F12 to render the scene and the image should be correctly mapped onto the model • Select specific faces in the View pane to see the corresponding points in the UV Pane XNA Project • Content project > Add Existing • Create Model object • Setup camera • Rotate / Translate / Scale as needed • Add code to loop through meshes and draw 3/12/13 Textures and Animation in XNA • Default Model object will handle non-moving models • Texture must be imported separately • SkinnedModelProcessor must be created to import animation data • SkinnedModelProcessor is not included with GameStudio • XNA will only use first animation defined in an FBX model • http://xbox.create.msdn.com/en-US/education/catalog/sample/skinned_model DepthStencilState • Be sure to set to default when displaying models after displaying sprites Special Techniques • Billboarding Keeps flat objects facing towards the camera Trees in a racing game Text in a 3D world • Atlas Mapping Render many similar objects at once Allows object texture changing without sacrificing processing time What Else Can Blender Do • Particle Systems • Fluid Simulation Sites to Check Out • Blender 3D: Noob to Pro – Free online wiki book – http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro Blasting Bits My game using Blender models, with development process documented https://blastingbits.wordpress.com/ My website http://www.levidsmith.com Books • Foundation Blender Compositing Author: Roger Wickes http://www.amazon.com/Foundation-Blender-Compositing-Roger-Wickes/dp/1430219769 Covers Blender 2.4, before user interface changes XNA 3D Primer (eBook) Author: Michael Need http://www.amazon.com/gp/product/B003A6RCES?ie=UTF8&tag=thefistsofnia- 20&link_code=as3&camp=211189&creative=373489&creativeASIN=B003A6RCES Pre XNA 4.0 .