Unity 3 has been released.
-
Not wanting to do a mega-spam, in the light of Twinmotion's promotion (hey- that rhymes! ), I just got an email from Unity, telling me that v3 has just been released. Woo-hoo!
Mega-improvements include....
@unknownuser said:
Android Support:
Support for Android OS is added in this version.
Please note that this an early build and does not represent the final Unity Android quality.
Standard Assets:
Standard packages split into more specialized and smaller packages.
New Image Effects: Sun Shafts (aka God Rays); Bloom & Lens Flares; Vignetting & Chromatic Aberration; Curve based Color Correction; Depth of Field; Contrast Enhance (aka Unsharp Mask); Geometry Outline; Fisheye; Create Shading.
Improved particle effects.
New Skyboxes with alpha channels to be compatible with Image Effects.
New Editor Scripts for useful shortcuts that are not built-in.
Improved First Person Controller that uses Character Motor script.
New CharacterMotor script for use with CharacterControllers.
Proper movement on slopes and steps without loosing grounding.
Support for standing on moving platforms with multiple movement transfer modes when jumping off.
Variable height jumping and other jump improvements.
Improved speed and acceleration control.
Customizable sliding and perpendicular jumping can prevent climbing up too steep surfaces.
Detached from input so it can be used for first person, third person, AI, etc.
New Editor Features:
Black is the new 50% gray. Unity Pro got a new look - you can toggle it in the preferences.
Procedural Tree Creator. Documentation.
Integrated Lightmapping via Illuminate Labs' Beast. Documentation.
Automatic generation of lightmap UVs (mesh import setting).
Terrains use the same solution and gain a whole new look when used with skylight.
You no longer use special "Lightmapped" shaders; all shaders that interact with lighting can handle lightmaps. Dynamic shadows from characters mix with lightmaps properly.
Object Selector. We no long show a simple dropdown menu; instead a swanky new window opens up, with previews and everything.
Scene View improvements (documentation):
Search field with interactive highlighting of objects.
Rectangle selection.
Vertex Snapping for precise object placement.
Live previews of material, prefab and texture drags into the scene view.
Improved camera handles, and a camera preview window.
Improved light handles.
More consistent scene navigation controls.
New texture Import Settings dialog with simpler interface & per-platform import settings.
New Build Settings window to better support multiple platforms.
New and more organized platform-aware Player Settings Inspector.
Curve Popup Window:
Any public script variable of type AnimationCurve is now exposed in the Inspector as a curve field.
Clicking a curve field opens a popup window with a curve editor, similar to the curve editor in the Animation Window.
Customizable curve fields can also be used in custom editor windows.
Editor checks when new versions are available< and notifies the user.
Texture compression is now multi-threaded for faster texture imports on multi-core computers.
Asset Server Window:
History window shows multiline commit descriptions directly in the list instead of tooltips.
Selected history window items are revealed better.
Framing (F key) works for history window file list.
Remember user/password per host name.
Disable merge button in conflict resolution window for non-merge-able items.
Improved error reporting for shaders. Shader Inspector also displays the list of errors & warnings for selected shader.
Implemented snap to grid in Curve Popup Window and Animation View when holding down Control (Command on OS X). Control/Command no longer adds to selection, but Shift can still be used for that.
Editor Console displays total number of errors & warnings in lower right corner.
Improved inspector for movie audio.
Windows: Double-clicking *.unitypackage will open and import it.
Editor API has been expanded: documentation.
Added option to search for object types instead of names in the project search field.
Can now drag objects onto an array field in the inspector to add them to the array.
Can now drag project folders onto the Project Wizard on Mac OS X to select them.
Nicer display of thumbnails when dragging tabbed editor windows.
Long operations show progress badge on the Unity Dock icon in Mac OS X and on the taskbar button in Windows 7.
Added support for touchpad gestures in OS X editor, for maximizing windows (pinch gesture), and switching camera in scene view (swipe gesture).
Overdraw visualization mode does not do alpha testing now. Alpha tested pixels still cost on the GPU, so better to visualize the real cost.
Animation window can display animation clips from prefab, just click the prefab's root game object.
Protect Transform position, rotation, scale against invalid values.
Build Pipeline: Typetrees are removed from serialized files (assets) when possible, this make resource files smaller and loading time faster.
Double-clicking a Game Object in Hierarchy View will frame select it in Scene View.
When going out of Play mode and the Game View is docked together with other tabs, go to last active tab instead of always focusing or creating a Scene View tab.
Now the Hierarchy View has a toolbar too.
API Compatibility setting in player settings lets you choose your mono profile. Use 2.0 if you're having trouble with 3rd party assemblies (2.0 not available for web player).
High resolution icon support for players (Windows: 256x256 and 128x128; iOS: 114x114).
Search results in project and scene search are now sorted alphabetically.
Inspector Lock got a real button instead of being hidden in a menu.
Rotate Tool now includes 'Look At Point' option when Shift + Control/Command keys are held.
Audition audio in SceneView. Scene view search now filters audio sources as well.
Added Web Player build templates.
It is now possible to update Asset Server project to specific revision through command line.
New Graphics Features:
Static Occlusion Culling using Umbra sPVS.
Geometry Batching: static and dynamic batching from Unity iPhone 1.7 comes to all platforms.
Rendering paths: (choose in Player Settings or per-Camera; documentation)
Deferred Lighting. A deferred rendering scheme, where realtime lights are not horribly expensive anymore. Lighting cost is only dependent on the number of pixels it touches, so you can have lots of small lights for cheap.
Vertex Lit. This makes all shaders & lights use fixed function per-vertex lighting. In exchange, this is fast; primarily targeted at mobile platforms and low-end web.
Forward rendering path had lots of changes compared to Unity 2.x, see below.
Surface Shaders - a much easier way to write shaders that interact with lighting. We don't have the docs for it yet; you'll have to trust us that it's awesome!
Speed! We have optimized the rendering code; it's often 20-50% faster than 2.6 in the same scene setups.
OpenGL ES 2.0 for iOS and Android. You can use shaders for objects, post-processing effects etc.
Regular Cg/HLSL shaders and Unity 3 Surface Shaders will be cross-compiled into GLSL behind the scenes. Resulting GLSL will be optimized as well, because mobile platforms are not very good at optimizing the shaders.
Of course, since mobile platforms are not very powerful, you should use OpenGL ES 1.1 if possible.
Particle Rotation: Particle.rotation, Particle.angularVelocity and respective properties in ParticleEmitter.
Soft Particles! When you use Deferred Lighting and have Soft Particles on in Quality Settings, particles will fade out close to intersections with the scene. All built-in Particle shaders (except VertexLit) support this.
Shadowing improvements: use native shadow maps on Direct3D (faster, less memory, native filtering); much reduced self-shadowing artifacts; Soft shadows support for Point lights; much less "shadow halos" around objects for directional light soft shadows; optimized shadows for Forward rendering path (shares depth buffer with main rendering); optimized shaders for directional light shadows.
Terrain: Added slider (under Terrain Settings) to control detail object density.
Vertex shaders for Shader Model 3.0 on Direct3D9 and GLSL on OpenGL can read from textures.
Skybox is rendered after opaque geometry. Improves performance if your application is fillrate bound.
Separate Alpha Blending: use Blend ColorSrc ColorDest, AlphaSrc AlphaDest in ShaderLab.
In-editor visualization on which objects would use which rendering paths (green/yellow/red for deferred/forward/vertexlit).
#pragma glsl for compiling Cg/HLSL shaders into GLSL instead of ARB assembly programs on OpenGL.
Compiling shaders to #pragma target 3.0 allows 512 texture indirections on OpenGL (up from 4).
Development standalone players on Windows have Direct3D PIX events; useful if you use PIX, Intel GPA or other graphics performance tools.
Fog just works on Direct3D with Shader Model 3.0 shaders, on OpenGL with GLSL and on OpenGL ES 2.0. Additionally, there's no need to write #pragma fragmentoption ARB_fog_exp2 in your shaders anymore; just remove that line.
CameraDepthTexture modes can be combined if you want to get both depth & depth+normals textures.
It is possible to forcibly disable Anisotropic filtering on a texture, even when Quality Settings have anisotropic on all textures. Just set anisotropic slider on the texture to zero.
Uniformly scaled objects will no longer be pre-scaled before rendering - instead uniform scale is now natively supported by the renderer.
Cg/HLSL VPOS (pixel position) pixel shader input semantic is supported now.
Terrain: Expose detail resolution per patch; previously was hardcoded to 8.
Terrain: Improved performance of painting textures & detail objects.
Asset Pipeline Improvements:
Upgraded to FBX SDK 2011.2.
Import support for stepped and linear keys for position curves; improved compression and curve fitting for position curves.
Settings for allowed animation compression error in mesh importer.
Implemented support for importing 1 unit in 3dsmax as 1 unit in Unity (the default is 1 cm in 3dsmax as 1 unit in Unity).
Implemented import of tangent space from FBX, .max, .mb and .ma files.
Switched Cinema4D import process to work in background mode.
Support for Cinema4D R11 on Mac OS X.
Support for FBX2010 format when exporting from Cinema4D.
Audio Improvements:
Filter components: Reverb, Echo, Distortion, Chorus, High- and Low-pass. Can be applied to each audio source or globally to the listener.
Reverb Zones: Apply reverb to main audio output, when the listener is within zone(s) defined by a position and min/max radii.
Live output and spectrum data access from each audio source or globally from the listener.
Tracker/Mod file support.
Sample-accurate synching. Sources played in the same frame are always started at the exact same point in time. Sources can be delayed and played in the future on an exact sample accurate boundary with .Play(int64 delay).
Surround sound (7.1, 5.1, 4.0, ProLogic DTS) support.
Attenuation curves for volume, spread, panning and lowpass filter factors.
Doppler factor per audio source.
AudioSource prioritization.
iOS latency settings. Choose between Default, Best Performance, Good Latency and Best Latency.
Asset memory is freed after loading audio data.
Physics Improvements:
Upgraded PhysX to 2.8.3.
Cloth and clothing simulation: use the new InteractiveCloth, SkinnedCloth and ClothRenderer components.
Layer based ignore collisions: use the Physics inspector or Physics.IgnoreCollision().
Continuous collision detection, to make sure that fast moving colliders will not pass through other colliders. See Collider.collisionDetectionMode.
Added Physics.SphereCast() and Physics.CapsuleCast() to implement volume raycasts.
Added Rigidbody.SweepTest() to check if a Rigidbody would collide with anything if moved into a certain direction.
New Scripting Features (documentation):
Mono Develop for script editing and debugging! Documentation.
Upgrade Mono and C# compiler to Mono 2.6.3. This brings C# 3.5, variable type inference, lambda expressions, LINQ and more.
New UnityScript compiler: generics, interfaces, structs, type cast operator, anonymous functions/closures, lambda expressions, function types, type inferred array comprehensions and more.
New Boo compiler.
Mono class libraries derived from Silverlight profile for the web player.
Socket security sandbox implementation. Just like Flash (think crossdomain.xml).
WWW class security sandbox implementation. Just like Flash (think crossdomain.xml).
Per-platform script defines. Use UNITY_EDITOR, UNITY_WEBPLAYER, UNITY_IPHONE etc. Documentation.
Improved UnityScript compilation speed.
New scripting API functions (documentation). Some highlights:
http://WWW.responseHeaders will contain the response headers received from the HTTP server.
Application.isWebPlayer.
SystemInfo.graphicsPixelFillrate to query GPU pixel fillrate. Returns fillrate for about a thousand GPUs out there.
GL.ClearWithSkybox.
Math functions: MoveTowards to Mathf, Vector2, Vector3, and Vector4; Quaternion.RotateTowards.
Changed Mathf.Approximately to not only be useful for comparing very small numbers.
Stacktraces have been prettified, useless information is better stripped from stack traces.
Other Improvements:
Web Player: Java and ClickOnce based installer on Windows for true one-click installation process.
IME input support (for languages like Japanese, which require multiple keypresses to enter a character) on Windows, and in the editor and standalone on the Mac.
Support for OS font rendering (new "dynamic" font rendering mode), to save space in distribution and texture sizes. Textures are generated dynamically to contain the characters which are needed.
Documentation: scripting examples in UnityScript; C# and Boo. Docs for all platforms merged and platform specific parts toggle-able.
Web Player: UnityObject.js script makes Web Player embedding easier.
iOS: Added cpu-waits-gpu metric in internal profiler; useful for tracking down GPU bound applications.
iOS: Native resolution support for iPhone 4.
iOS: Improved game build sizes.
iOS: Unity Remote 2: It is possible to turn off image syncing between editor and device. Useful for input-critical games.
OS X Web Player: Now supports NPDrawingModelInvalidatingCoreAnimation, as will be required by future versions of Chrome.
Networking: RakNet upgraded to version 3.732
Networking: Connection tester, Network.TestConnection(), now reports your NAT implementation type more accurately.
Networking: Exposed Network.logLevel so you can change the amount of log output at runtime.
Networking: Added network GUID, used for NAT punchthrough.
Bug Reporter: Supports multiple file attachments; trims attached log files if they are too large.
Some Changes We Did
We thought you might want to know about them... Read more in the docs.Graphics Changes:
Forward rendering path had lots of changes:
Most common case (one directional per-pixel light) is drawn in one pass now! (used to be two passes in 2.x)
Point & Spot light shadows are not supported. Only one Directional light can cast shadows. Use Deferred Lighting path if you need more shadows.
Most "Vertex" lights replaced with Spherical Harmonics lighting.
Forward rendering path is purely shader based now, so it works on OpenGL ES 2.0, Xbox 360, PS3 (i.e. platforms that don't support fixed function rendering).
Shader & ShaderLab changes:
If you want to write shaders that fully interact with lighting; it's best to use Surface Shaders.
Unity 2.x per-pixel lit shaders will need to be manually converted to surface shaders or manually fixed.
Shaders are compiled to more targets by default (e.g. OpenGL ES 2.0); you might hit some places where OpenGL ES 2.0 does not like some Cg/HLSL constructs. Either fix the offending places, or exclude shader from OpenGL ES 2.0 via #pragma exclude_renderers gles.
Lots of sanitization to built-in variable names (mostly to accommodate new OpenGL ES 2.0, Xbox 360, PS3 platforms).
Unity 3.0 will automatically upgrade most of 2.x shaders for syntax changes. This actually modifies your shader files (look for "Upgrade NOTE" in your files).
Normal map compression; just mark texture as Normal Map and will be DXT5nm compressed at decent quality. All shaders need to use UnpackNormal(n) instead of n*2-1.
Remove concept of "RECT" textures. All non-power-of-two RenderTextures are addressed with 0..1 UVs now (just like in D3D9 in Unity 2.x).
Parallax shaders get height from a separate texture now.
Self-Illuminated shaders get illumination from a separate texture now.
Terrain lighting modes (Vertex/Lightmap/Pixel) are gone. Terrain is lit just like everything else now.
When rendering with Shader Replacement, no lighting is ever applied. Skybox, GUI, Halos, Projectors are not rendered.
Background shader queue is treated like Geometry now (arbitrary sorting, assumed to be opaque).
OnBecameVisible/OnBecameInvisible have slight behaviour changes. For example, now they are not called each frame on a shadow caster that is not visible itself.
Self-Illuminated materials calculate emissive color as (material color * texture * illumination); previously was (texture * illumination).
Simplified Shadow Bias setting on Lights.
Depth render textures on D3D9 use native depth buffer. Value distribution changed from linear to z-buffer like (just like in OpenGL).
Spot lights attenuate exactly like Point lights now.
Point lights with Cookies actually attenuate now.
OnRenderObject script callback behaviour changed. Now those callbacks are called after everything is rendered; not at points in the middle of rendering.
Changed the way the Camera-DepthTexture and Camera-DepthNormalTexture shaders are loaded so that they can be overridden when needed.
Custom Tree shaders specify their billboard shader via Dependency keyword now (instead of Tag). The billboard shader will be automatically included in the build.
Screen space coordinates should use float4 on all platforms (used to be V2F_SCREEN_TYPE). When sampling a texture with tex2Dproj, use UNITY_PROJ_COORD macro around it.
Added WorldSpaceViewDir() and WorldSpaceLightDir() functions to UnityCG.cginc.
Obscure Graphics Changes That No One Will Probably Notice TM: documentation.
Renamed the 2.x tree shaders and the 3.x Tree Creator shaders; both are put under "Nature" section.
OnPreCull, OnPreRender, OnPostRender and OnWillRenderObject messages are not sent to disabled behaviors.
Old Unity 2.x Lightmapped shaders moved under "Legacy Shaders" submenu.
Terrain: Removed the concept of grayscale lighting from terrains.
Editor Changes:
Unity Editor on Mac OS X requires Intel-based Mac and OS X 10.5 "Leopard" or later.
Removed Soft Vegetation option from Quality Settings UI. It does nothing in built-in shaders now.
Separated preferences for 3.x and 2.x editors.
Removed ancient Dinosaur graphics emulation.
Moved "All compile errors must be fixed" notification to scene view notifications (moved it out of console).
Made the curve editor send a CurveChangeCompleted event when the curve change has been completed.
Create New Project dialog now expects user to select an existing, empty folder on the Mac
Mesh Import option "Split Tangents" is on by default.
Texture Importer:
Bump maps are now referred to as "normal maps" in the editor.
Normal maps are labelled as "NM" in their format.
PVRTC compression level moved to advanced settings.
Generating a Cubemap will make the cubemap be the root asset.
Textures that only use one value across the whole alpha channel and that value is not 1 are marked as needing-alpha-channel.
The command and control key modifiers in the view tool have been switched on OS X. Now command moves and control zooms. Control still moves on Windows.
Physics Changes:
Rigidbody mass is no now longer limited to 10000.
RaycastCollider is now deprecated.
Center of gravity and inertia will now always be automatically recalculated when setting or animating collider properties or positions, unless they had been explicitly set from code before.
Slope limit on character controller now works properly above 45 degrees. When loading old scenes the value will be clamped to 45 degrees to mimic the old behaviour.
JointDrive.maximumForce will now also be taken into consideration when JointDrive.mode is JointDriveMode.Position. You may need to change your joint setups so that they still work.
Unity iOS Changes:
iPhoneStreamingAssets is renamed to StreamingAssets and is now located under the Assets folder (visible from within the Editor).
Target iOS Version field added to player settings. Now deployment target can be specified separately from active SDK version.
"Enable Unity Networking" flag removed from iOS player settings. Now stripping of networking is handled automatically.
Most iPhoneInput members moved to Input class.
Native plugin support added to both Basic and Advanced Unity iOS licenses.
Added support for iPad / iPhone Simulator
Hardware audio decoder is now shared between audio clips.
Other Changes:
Random number generator (Random class) was changed. It is marginally slower, but produces better "randomness", especially in lower bits. Additionally, integer version is not limited to 15 bits range.
Internal Random number generators (for Particles etc.) are reset after each level load. Now your particles in any level do not depend on what levels were loaded before.
The default runtime font is now Arial 13, as rendered as a dynamic font on Mac OS X and Windows.
Scripting: Renamed http://WWW.data to http://WWW.text
Scripting: ScriptableObject derived classes must be instantiated using one of ScriptableObject.CreateInstance overloads.
Scripting: UnityScript strict mode no longer allows arbitrary downcasts from Object (unless #pragma downcast is used).
Input: Keyboard on MacOS X will now reflect the behavior on Windows (two separate KeyDown events for key code and character, KeyUp event only for key code).
Scripting: Removed support for .NET 1.1 profile.
Scripting: Made previously undocumented GUIClip class internal to UnityEditor.
Networking: Connection tester now requires 4 public IP addresses to work.Crikey!
-
Nice! Is any of this in free Unity?
If anyone is interested I created this virtual walkthrough using unity and the fabulous Lightup plugin to flog to clients. Its also a great way of making rendered walkthroughs with smooth camera transitions without having to wait days for frames to render.http://sites.google.com/site/viztecture/ - visit here for the virtual walkthrough (you may need to download unity player plugin...it takes 30 secs!)
-
Very cool walk through Adam. It would be great to see your workflow to make that happen. How did you use Lightup and Unity together?
-
Planning on using untiy soon, well as soon as I figure out Blender. Its really awesome, mostly because its free
-
@viztecture said:
If anyone is interested I created this virtual walkthrough using unity and the fabulous Lightup plugin to flog to clients. Its also a great way of making rendered walkthroughs with smooth camera transitions without having to wait days for frames to render.
http://sites.google.com/site/viztecture/ - visit here for the virtual walkthrough (you may need to download unity player plugin...it takes 30 secs!)
Hi Adam (fellow Brummie!)
Unfortunately, I can't get this to work on my computer. I'd love to see it.
Where in the big smoke are you?
-
Do you have the unity plugin installed in your browser?
-
I do. (which you would think.....)
-
hehe. yes, I would.
Dunno. I could see it with no problem. (Cool stuff indeed)
-
I'm actually having really bad internet problems here. So that could be the problem? The conservative party are having their annual conference here this week, and imagine everyone in the B12 area of the city are having their computers watched by MI5!! (despite that B12 (Balsall Heath), is believe it or not, the inspiration for David Cameron's "Big Society"). There's a big poster that says "Birmingham welcomes the Conservatives". If that's so, and the tories/ Birmingham are so trusting, why is Broad Street shut and the massive police presence?
The Big Society, btw, is a big joke, because despite what Cameron thinks, it doesn't work like he thinks it does around here. It's investment that makes things change (edit; like high speed broadband for all in the UK!), and all the tories want to do is cut, cut, cut. Labour invested, but in all the wrong things! Stupid politicians.
Sorry for the OT rant.
-
What a paranoid old fool I am?
It wasn't MI5, but Safari!
I've updated to (the now FREE!) OmniWeb browser, and everything is tickety-boo!
-
Adam, it's working great in Omniweb! Made me feel sick- so it must be good!
How do you go through, or open the door?
Tom
-
Glad you guys like it, il write a basic workflow when i have a spare moment.
Tom, im in edgbaston by the reservoir, dont know about internet spying but there is plenty of choppers flying overhead because of cam's bash.
Unity is great, the possiblities are amazing if you have the time and effort to learn basic coding btw you cant open the doors i didnt model anything beyond them,was just a demo really -
@unknownuser said:
Then again, that opening post is huge.
Well what you get for a very little outlay is an absolute bargain. There of course is also a free version!
And of course, it works with SketchUp!
edit; but you are right. It was huge!
-
@viztecture said:
Tom, im in edgbaston by the reservoir,
You're quite near me then! And there is also David who is in Harborne. We are a cosy little city!
Did you know that Birmingham is the same size as Berlin? Yet Birmingham feels far smaller, because it isn't built up so much. My dream would be to get Birmingham into Google Earth.
-
a good part of the centre is on google earth already...not for export into SU tho unfortunately. Great to hear there is a Brummie division of sketchucation! Chips and curry sauce all round
-
Balti's all around you mean!
A "Balti" means literally, "Bucket"!
The real definition of a Balti is a 'Karack'.
Either way, the result is making me hungry! (I live right on the "Balti Belt" in Birmingham's "Balti Triangle", the curry restaurant part of Birmingham)!
-
Mansell's in digbeth is my haunt when it comes to curry houses...service with a smirk is all your gonna get at those prices
-
I don't know Mansell's. It's the Diwan (Alcester Road, Moseley) or the Jyoti (Stratford Road, Hall Green) for me. Channi's is really good too, on Stratford Road, in Sparkbrook, but I haven't been there for a while. The Plaza on Ladypool Road used to be good also, but it's not as great as it used to be ever since winning restaurant of the year.
Advertisement