Professional Documents
Culture Documents
David Llewelyn
Wednesday, 10 April 13
David Llewelyn
10 Apr 2013
Wednesday, 10 April 13
Page 2
10 Apr 2013
Wednesday, 10 April 13
Page 3
10 Apr 2013
Wednesday, 10 April 13
Page 4
10 Apr 2013
Wednesday, 10 April 13
Page 5
10 Apr 2013
Wednesday, 10 April 13
Page 6
David Llewelyn
Born in Wales !!
10 Apr 2013
Wednesday, 10 April 13
Page 7
David Llewelyn
Born in Wales !!
10 Apr 2013
Wednesday, 10 April 13
Page 7
Overview
10 Apr 2013
Wednesday, 10 April 13
Page 8
Overview
Prototyping in Unity. Preparing 3D assets. Texture creation. Importing in Unity. Optimization.
10 Apr 2013
Wednesday, 10 April 13
Page 9
Prototyping in Unity
10 Apr 2013
Wednesday, 10 April 13
Page 10
10 Apr 2013
Wednesday, 10 April 13
Page 11
10 Apr 2013
Wednesday, 10 April 13
Page 12
10 Apr 2013
Wednesday, 10 April 13
Page 13
10 Apr 2013
Wednesday, 10 April 13
Page 14
10 Apr 2013
Wednesday, 10 April 13
Page 15
Prototyping in Unity
Prototype thoroughly in order to prevent abortive work. Identify areas of your process that can be automated and implement this early. Small savings throughout the art pipeline add-up to large overall gains.
10 Apr 2013
Wednesday, 10 April 13
Page 16
Prototyping in Unity
Use Unity primitives, or create your own custom shapes to layout levels and test your mechanics.
10 Apr 2013
Wednesday, 10 April 13
Page 17
Prototyping in Unity
Use Unity primitives, or create your own custom shapes to layout levels and test your mechanics. Make use of the Asset Store!
10 Apr 2013
Wednesday, 10 April 13
Page 18
10 Apr 2013
Wednesday, 10 April 13
Page 19
Prototyping in Unity
Use Unity primitives, or create your own custom shapes to layout levels and test your mechanics. Make use of the Asset Store! Creating quality artwork is time consuming. Prototyping helps to identify an asset list that is 100% required.
10 Apr 2013
Wednesday, 10 April 13
Page 20
Prototyping in Unity
10 Apr 2013
Wednesday, 10 April 13
Page 21
10 Apr 2013
Wednesday, 10 April 13
Page 22
Prototyping in Unity
Go to wiki.unity3d.com and search for OBJ Exporter. Editor Script that allows you to export .obj les from Unity.
10 Apr 2013
Wednesday, 10 April 13
Page 23
Prototyping in Unity
10 Apr 2013
Wednesday, 10 April 13
Page 24
Prototyping in Unity
Exported OBJ is a good base to model over. Precise snapping during polymodeling. Identication of repeatable, modular pieces. Easier to determine asset list and distribute to team members.
10 Apr 2013
Wednesday, 10 April 13
Page 25
Prototyping in Unity
10 Apr 2013
Wednesday, 10 April 13
Page 26
Prototyping in Unity
With Stealth we started-off creating a number of wall panels 2m x 2m. Used standard assets controllers and cameras to test the level design. Both art and code departments could collaborate and agree on design. Reduced refactoring.
10 Apr 2013
Wednesday, 10 April 13
Page 27
10 Apr 2013
Wednesday, 10 April 13
Page 28
10 Apr 2013
Wednesday, 10 April 13
Page 29
10 Apr 2013
Wednesday, 10 April 13
Page 30
Prototyping in Unity
Using this approach we managed to create a fully approved prototype very early-on. Art ts a feasible layout from the outset. Reduces the need to re-t precise artwork at the modeling stage.
10 Apr 2013
Wednesday, 10 April 13
Page 31
Prototyping in Unity
These saving meant time that could be better spent on art direction.
10 Apr 2013
Wednesday, 10 April 13
Page 32
Prototyping in Unity
These saving meant time that could be better spent on art direction.
10 Apr 2013
Wednesday, 10 April 13
Page 33
Summary
The main benets of this simple prototyping approach: 1. Early agreement between design, code and art. 2. Less chance of time wasting by having to re-position/re-stitch models. 3. Earlier distribution of workload amongst artists = fewer dependancies.
10 Apr 2013
Wednesday, 10 April 13
Page 34
Preparing 3D Assets
10 Apr 2013
Wednesday, 10 April 13
Page 35
Preparing 3D Assets
Group assets by commonality. Keep hierarchies as at as possible. Find a suitable taxonomy in order to organize hierarchies alphabetically. Consider a renaming script.
10 Apr 2013
Wednesday, 10 April 13
Page 36
Preparing 3D Assets
Reduce draw-calls by combining smaller objects. Massive objects represent a ll cost. Equalize triangles for better normal distribution.
10 Apr 2013
Wednesday, 10 April 13
Page 37
Preparing 3D Assets
Auto exporter scripts available through resources such as Creative Crash. Keep naming conventions consistent in your scene. OS project folders will be faster to navigate.
10 Apr 2013
Wednesday, 10 April 13
Page 38
Summary
When building your 3D assets: 1. Avoid time wasted drilling through recursive hierarchies. 2. Less repetitive exporting and naming in your OS. 3. Improve visual quality with good modeling practice.
10 Apr 2013
Wednesday, 10 April 13
Page 39
Texture Creation
10 Apr 2013
Wednesday, 10 April 13
Page 40
Texture Creation
Texturing is a process that is full of repetitive tasks. These are obvious cases for automation. Standardize PSDs for easier collaboration in team environments. Next-gen means even more assets!
10 Apr 2013
Wednesday, 10 April 13
Page 41
10 Apr 2013
Wednesday, 10 April 13
Page 42
10 Apr 2013
Wednesday, 10 April 13
Page 43
10 Apr 2013
Wednesday, 10 April 13
Page 44
Texture Creation
Part of a suite of Photoshop actions to help automate repetitive tasks. It takes a range source maps from tools such as xNormal. Produces a standardized, exible PSD template. Lets see how it works...
10 Apr 2013
Wednesday, 10 April 13
Page 45
Texture Creation
Robot and Stealth include 433 unique textures. On average setting-up a PSD by hand takes around 5 minutes longer. So, thats (433 x 5) = 2165 minutes. Or,
10 Apr 2013
Wednesday, 10 April 13
Page 46
Image Pre-Processing
10 Apr 2013
Wednesday, 10 April 13
Page 47
Image Pre-Processing
Work in PSDs within your 3D packages project folder. Use File>Scripts>Image Processor to automatically apply actions to your images.
10 Apr 2013
Wednesday, 10 April 13
Page 48
10 Apr 2013
Wednesday, 10 April 13
Page 49
Image Pre-Processing
Work in PSDs within your 3D packages project folder. Use File>Scripts>Image Processor to automatically apply actions to your images. This offers some distinct advantages:
10 Apr 2013
Wednesday, 10 April 13
Page 50
Image Pre-Processing
1. Flatten PSDs to reduce project size. 2. Reduce compression artifacts with lter combinations. 3. Normalize histogram levels. 4. Apply artistic effects or sharpening.
10 Apr 2013
Wednesday, 10 April 13
Page 51
Image Pre-Processing
The PVTRC format is commonly used for mobile. Can result in visible stepping or banding across gradients. Apply a hi-frequency noise to your textures to simulate dithering. Trick the PVTRC compressor.
10 Apr 2013
Wednesday, 10 April 13
Page 52
Summary
Processing images before import allows you to:
Reduce VCS sync times. Apply stylized lter treatments. Improve compression results for mobile textures.
10 Apr 2013
Wednesday, 10 April 13
Page 53
10 Apr 2013
Wednesday, 10 April 13
Page 54
Unity was designed to work similarly to Autodesk Maya in terms of interface. However, there are some differences when it comes to 3D.
10 Apr 2013
Wednesday, 10 April 13
Page 55
10 Apr 2013
Wednesday, 10 April 13
Page 56
10 Apr 2013
Wednesday, 10 April 13
Page 57
10 Apr 2013
Wednesday, 10 April 13
Page 58
10 Apr 2013
Wednesday, 10 April 13
Page 59
10 Apr 2013
Wednesday, 10 April 13
Page 60
10 Apr 2013
Wednesday, 10 April 13
Page 61
10 Apr 2013
Wednesday, 10 April 13
Page 62
Cleaning-Up
Duplicate or unwanted materials, textures and models can quickly build-up. This can slow the team down. I propose a quick way to tidy-up a cluttered project:
10 Apr 2013
Wednesday, 10 April 13
Page 63
Cleaning-Up
1. Backup!! 2. Select all your scene les from within the project panel. 3. Right-click, and select Export Package. 4. Save this somewhere outside of the Unity project folder. 5. Select the project folders containing any duplicate les you wish to remove.
10 Apr 2013
Wednesday, 10 April 13
Page 64
Cleaning-Up
6. Right click and Delete. 7. Right click anywhere in the project pane, select import package. 8. Select the package you just exported and reimport. 9. Voila! You should end-up with a project containing only the assets referenced by your scenes. (Dont use this on your scripts folder!!)
10 Apr 2013
Wednesday, 10 April 13
Page 65
Summary
When importing into Unity:
Be aware that Unity uses the Left Hand Rule for cartesian coordinates. Use the embedded FBX format for rapid prototypes. Periodically remove unwanted les or duplicates.
10 Apr 2013
Wednesday, 10 April 13
Page 66
Optimization
10 Apr 2013
Wednesday, 10 April 13
Page 67
Optimization
Use Unitys view modes to troubleshoot and optimize poor draw performance.
10 Apr 2013
Wednesday, 10 April 13
Page 68
10 Apr 2013
Wednesday, 10 April 13
Page 69
Optimization
Specular component encoded in the alpha channel of the diffuse texture. Alpha view can be used to check specular maps are displaying correctly. When using PSDs, transparency on the base layer can cause specular to not come through. Useful way to troubleshoot.
10 Apr 2013
Wednesday, 10 April 13
Page 70
10 Apr 2013
Wednesday, 10 April 13
Page 71
Optimization
Draw cost without visible on-screen result (except alpha). Overdraw represented in an additive colour scheme. Lighter areas represent higher levels of overdraw. Remove these polygons from your model if possible.
10 Apr 2013
Wednesday, 10 April 13
Page 72
10 Apr 2013
Wednesday, 10 April 13
Page 73
Optimization
MipMaps are textures storing precomputed texture subsampling. Effectively smaller versions of the texture. Swapped at runtime to ensure texeldensity is appropriate to the nal on-screen resolution. Mipmap view shows which MipMap level is currently being used.
10 Apr 2013
Wednesday, 10 April 13
Page 74
Optimization
Highest (blue) mipmap level in foreground, yellow in the middle, red in the distance. Red in the foreground means textures close to the camera will appear blurry. Blue in the background means textures likely to be too high in resolution. Waste of memory.
10 Apr 2013
Wednesday, 10 April 13
Page 75
10 Apr 2013
Wednesday, 10 April 13
Page 76
Optimization
Set the Max Size for your textures in the inspector. Scene should be correctly balanced in the mipmap view. Correct distribution (blue> yellow> red) ensures that memory is not being wasted.
10 Apr 2013
Wednesday, 10 April 13
Page 77
10 Apr 2013
Wednesday, 10 April 13
Page 78
Optimization
Objects at same scale are statically batched. Rendered in the same draw-call. Boosts GPU performance.
10 Apr 2013
Wednesday, 10 April 13
Page 79
Questions?
10 Apr 2013
Wednesday, 10 April 13
Page 80