Rendering EVE Models 101
From UniWiki
Contents |
Class Information
This chapter contains the standard information of this class pertaining to scheduling and class contents. The General Information should be sufficient to create a proper class topic for scheduling on the Eve University forum. Additional information relevant to the teacher is listed under Notes for the Teacher.
General Information
Illustration link for class description on the Eve University forum: http://wiki.eveuniversity.org/w/images/2/27/Punisher_pochacco.png
This class describes the basic steps required to convert an EVE Online model to allow rendering within the free Blender software, using all free tools: TriExporter, GiMP, and of course Blender.
This class is not intended to teach students how to use the tools, and so at least a basic understanding of the tools themselves will be helpful. Those of you who are brand new to the tools are more than welcome to attend. We will only be using the most basic functionality, and so even beginners might be able to follow the lecture. This is not a hands-on interactive class, and so students do not need to have the tools already installed.
- Duration: 90 minutes
- Location: Lecture only
Class contents:
- List of Tools and Plugins Needed
- Exporting the Data: TriExporter
- Translating the Maps and Textures: GiMP
- Compositing and Rendering: Blender
- Q&A
Student requirements:
- Mumble registration and access - make sure you have Mumble sorted out and operational well before the class begins. Use this guide for set-up: http://wiki.eveuniversity.org/Mumble
- Access to the Class.E-UNI in-game chat channel
Additional information: This class is primarily lecture followed by Q&A.
Notes for the Teacher
IMPORTANT: Although the class is designed such that the students may not need any experience with TriExporter/GIMP/Blender, the instructor must be at least somewhat familiar with these tools. This syllabus does not list step-by-step instructions. It assumes that the instructor knows at least how to perform each step, which is reasonable because the students are certainly going to ask questions beyond the exact steps covered. It is not required that the instructor be a "Blender professional", et. al., but s/he should at least have a general idea about what each step is accomplishing and why.
IMPORTANT: It is extremely difficult to simply describe how to use all of these tools and the steps that need to be done. Therefore, it is strongly recommended that this class be taught using a live streaming resource. (The first iteration will be taught using Justin.tv/Twitch.tv.) However, not all instructors will have the access and know-how to do this.
Class Contents
Introduction
Welcome to this class on Rendering EVE Models!
This course is designed primarily for those who have at least a basic familiarity with the tools involved: TriExporter, GiMP, and Blender. Beginners to the tools will probably be able to follow, because we won't be doing anything fancy. Students who have never even seen the tools at all before and who don't know anything about them, they may have a tougher time following along but they are still welcome to attend just to see what it's like and what is involved. However, we don't want to turn the class into a beginner's guide to all the tools, because it will end up taking all day.
Over the 90 minutes or so, we shall cover:
- List of Tools and Plugins Needed
- Exporting the Data: TriExporter
- Translating the Maps and Textures: GiMP
- Compositing and Rendering: Blender
(Instructor should then introduce himself or herself - covering relevant experience level and background.)
We have a few ground rules for this class:
- Please put your Mumble settings on "Push to Talk" if you have not already done so.
- Feel free to type any questions in the Class.E-UNI chat channel as we proceed - I will try to answer your questions as they come during the class. [At the end of my lecture, we'll open Mumble for any further questions or general discussion.]
- You should be [docked up safely in a station [in Aldrat if you intend to participate in the practical exercise], or located....]
- INSTRUCTOR: If also using a streaming service, remember to discuss the related stream rules. Typically, you will also want to cover questions fielded over the stream's chat channel, and also remind students that the stream will lag behind the Mumble lecture by 5-10 seconds.
Everyone ready? OK, then - let's begin....
The Tools
- Original threads are rather outdated with lots of broken links. But for those interested:
- Original (old forums) thread: http://community.eveonline.com/ingameboard.asp?a=topic&threadID=269677
- New thread in new forums: https://forums.eveonline.com/default.aspx?g=posts&t=9241
- Original download link long not working
- New "2009" version, apparent source: http://dl.eve-files.com/media/corp/Xabora/TriExporter_2009.zip
- INSTRUCTOR: Steps in this class verified accurate as of version "2009"
- GIMP - Gnu Image Manipulation Program
- http://www.gimp.org/
- GNU General Public License
- INSTRUCTOR: Steps in this class verified accurate as of version 2.6
- GIMP Direct Draw Surface plug-in
- http://code.google.com/p/gimp-dds/
- extract files into the GIMP plug-ins directory, usually ../lib/gimp/<version>/plug-ins/
- allows loading and saving to DDS format
- Blender - Open Source 3D content creation suite
- http://www.blender.org/
- GNU General Public License v2
- INSTRUCTOR: Steps in this class verified accurate as of version 2.61
Exporting the Model and Textures: TriExporter
- locate the models
- /res/dx9/model/
- double-click the .gr2 file to preview
- not all models will work, and some will even crash TriExporter!
- preview the model and see if it seems "wrong"
- exporting steps
- while viewing the model
- File -> Export Tri-Model
- export to 3D Studio format (.3ds)
- export the textures as a full directory because we need them all anyway
- select the directory that holds the *_d.dds, *_ngs.dds, and *_p.dds files
- File -> Extract File/Directory
- while viewing the model
Converting the Maps and Textures: GIMP
- Our guideline for extracting and converting all of the textures and maps
- data from a February 2010 devblog about the new Scorpion
- the "current anatomy" is still in use
- these steps will need to be updated if the "proposed anatomy" is ever implemented
- we will save all textures/maps to .png format
- standard, compressed, and lossless
- the "current anatomy" is still in use
- Open all 3 of the DDS files
- should be named *_d.dds, *_ngs.dds, *_p.dds
- do not load mipmaps
- bring forward the Diffuse Map, *_d.dds
- note for later that it is 1024x1024 resolution
- Decompose to RGBA
- exporting the Light Map
- hide all layers except for Alpha
- Save as *-lights.png, merge visible layers
- exporting the Diffuse Texture
- Recompose to RGB, straight mapping
- Save as *-diffuse.png, merge visible layers
- bring forward the NGS Map, *_ngs.dds
- Decompose to RGBA
- exporting the Specular Map
- hide all layers except for Blue
- Save as *-specular.png, merge visible layers
- exporting the Normal Map
- Recompose to RGB, map Green -> Red, map Alpha -> Blue, mask Blue
- Save as *-normal.png, merge visible layers
- bring forward the Paint Map, *_p.dds
- Save as *-paint.png, merge visible layers
Importing and Rendering: Blender
- Import the .3ds model
- transform and set up the scene basics as you wish
- set up some lights so you can see the model
- Attach a global material
- select the entire model then go to Edit Mode
- go to the Materials tab
- + to add a new slot
- + New to add a new material
- Assign to assign it to the selected model
- exit from Edit Mode, recommended set to GLSL rendering, Texture shading
- maybe also Smooth shading depending upon the model
- Apply textures
- with the global material selected, go to Textures
- add Diffuse Texture
- select first slot and + New, rename to "diffuse"
- change type to Image or Movie, Image -> Open, open the *-diffuse.png file
- set mapping coordinates to UV, map to UVMap
- set influence to Diffuse Color 1
- LOOKS WRONG! UV map is inverted along Y axis
- show both 3D View and UV/Image Editor
- in 3D View, select model and go to Edit Mode
- in UV/Image Editor, flip UV map about Y axis
- move the cursor to the midpoint on the Y axis
- we know from earlier that it is 1024x1024, so set Y to 512
- scale along Y with value -1
- move the cursor to the midpoint on the Y axis
- add Normal Map
- select second slot and + New, rename to "normal"
- again, set to Image, *-normal.png, UV mapping
- set image sampling to Normal Map, geometry to Normal 1
- add Specular Map
- select third slot and + New, rename to "specular"
- again, set to Image, *-normal.png, UV mapping
- set influence to Specular Intensity 1, Specular Hardness 1, Blend Multiply
- some suggest RGB to Intensity white, but base it on how good it looks
- add Light Map
- select fourth slot and + New, rename to "lights"
- again, set to Image, *-normal.png, UV mapping
- set influence to Diffuse Color 1, Shading Emit 1 to 10
- add Paint Map
- select fifth slot and + New, rename to "paint"
- again, set to Image, *-normal.png, UV mapping
- set influence to Ray Mirror 1, Blend Multiply, RGB to Intensity white
- Finalize setup, environment, etc.
- adjust above settings as you wish
- "the correct settings are the ones that look the best"
- Render!
Extra: Decaling
- INSTRUCTOR: The main portions of this class can already occupy the entire class schedule. However, if you have the extra time and the students are interested, then you may take a short break and then demo some decaling techniques. The students will probably love you for it. Note that a detailed decaling session can easily require just as much time as the original class itself, or more! (But a brief simple demo may only last perhaps a half hour.)
- Export the unwrapped map
- show both 3D View and UV Editor
- in 3D View, select the model and go to Edit Mode
- in UV Editor, UVs -> Export UV Layout, save as *-layout.png
- open in GIMP and use as a guide layer for paint and decal layers
Class Wrap-up
- Thanks for attending this class!
- I would appreciate any feedback from people on how to improve the class
- Questions ?
