Thursday, 7th January, 2010

Animago Conference & Award 2009 notes pt.1

Filed under: GameDev, The World of 3D — dominique @ 10:25

The Animago Award is a German CGI Award which has become more and more international in the past years. This time it took place in Potsdam, near Berlin at the Babelsberg Studio. This year there was also a conference which was mostly organized by the reseller Lichtblick.

I've to say that I was very positively surprised by the conference, I enjoyed it a lot - therefore thumbs up! It also allowed me to see some people again. For example Hanno who now works for Naughty Dog and previously at CryTek. He did a talk about Uncharted 2, I've a few notes maybe I can remember something from it … hm… I can barely read 'em :| … sorry will be rough!

Creating a Character Driven Game - Hanno Hagedorn, Naughty Dog

  • 8000 triangles per hero head
  • no manual low-res creation, reduction automated for faster iteration
  • Mudbox and Photoshop used (for texturing?)
  • I think he sad something about how to have a better look for the skin. I think they controlled the red tones via an extra channel that did the masking. Maybe that was mixing insidea shader via a Fresnel term or so.
  • extra ambient lightmap butthat maybe not used in close-up shots (cinematics)
  • they used 2 normal maps
    • one rough
    • one for the skin shader to produce specular highlights

  • texture variations for wet/snowy cloths and skin that got blended in dynamically
  • dynamic wrinkles using ambient occlusion and normal maps that got dynamically blended in
  • hair had around 4000 polygons (i guess triangles)
  • per frame light baking for the skin,
    • (maybe at 256er resolution)
    • which got blurred 
    • my notes say "red blur edge", not sure what it means :(
  • faces were hand modelled
  • audio  (voice) and body motion-cap was done at the same time
    • better quality of voice acting and sync
    • extra cameras to record facial expressions
    • facial animation was manually animated using the reference material from the mo-cap sessions
  • all deformations with bones no blend shapes (no morphing)
  • 76 bones per face

Some more general infos

  • level editor and cut scenes inside maya
  • pre-process/-production 6 months
  • production 1,5 years
  • no producers due very experienced and skilled team = flat hierarchy
  • PS3 only game
  • access to Sony's PS3 expert team

Crowd Simulation - Paul Kanyuk, Pixar

Another interesting talk was from Paul, TD at Pixar. He explained various crowd simulations done for films like Ratatouille, wall•e and Up.

  • Secondary animations via signal processing
    • creating secondary animations procedurally can become quite processing intensive
    • using signal processing on various inputs (transformation, animation etc) creates nice effects at much lesser costs
    • example Robots stopping suddenly with spring-like overcompensations
    • but phases (i.e sinus phases) should not shift
  • massive was used with Maya and Marionette
    • flow-fields on terrain to help brains via color maps
    • 6 short animation clips
    • data transport between different tools (massive, marionette etc) via invisible bones
  • different rules combined via weighting
    • avoidance
    • leader follow
    • helps to tweak, fine tune behavior
    • 200 to 1000 rules for foreground actors (? hm not sure about my notes here!)

Well, so far for now. These were the highlights. As said a bit rough but maybe you got one or another thing for you out of it.

Bookmark and Share: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • Technorati
  • Digg
  • Reddit
  • Google Bookmarks
  • YahooMyWeb
  • Live-MSN
  • Facebook

Thursday, 5th November, 2009

Epic’s Unreal Engine becomes very affordable: UDK

Filed under: GameDev, The World of 3D, authoring systems — dominique @ 03:46

Wow, what an exciting time for real-time 3D enthusiasts!

UDK

Epic released the UDK for PC: the Unreal Development Kit based on the famous Unreal 3 Engine! For non-commercial/Edu use it's totally free. And for commercial use there is a very reasonable and transparent pricing:

  • Internal Use: 2.500 US $ per developer seat per year
  • Publishing: 25% royalties for revenues above 5000 US $
  • Internal Use may stack with publishing thus: per seat per year plus royalties

You can read it directly on their site. Checkout the features, here some highlights:

  • SpeedTree included - with editor
  • global illumination solver
  • Bink Video Codec
  • Animation is driven by an AnimTree
  • animated Facial normal maps using a visual scripting system
  • slicing of objects for physics-based destructions
  • distributed assets processing
  • automated creation of navigation meshes for pathfinding
  • visual shader creation system
  • and much more of the "usual" Unreal Engine stuff ;)

Another YAY :D

One important note though: this is basically the modding access. No source code access. So this may mean that if you can't script what you need, you won't be able to implement it.

Bookmark and Share: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • Technorati
  • Digg
  • Reddit
  • Google Bookmarks
  • YahooMyWeb
  • Live-MSN
  • Facebook

Wednesday, 23rd September, 2009

CPU and GPU “fusion”: rough roadmap from INTEL

Filed under: The World of 3D — dominique @ 12:07

CPU GPU love

Last year I've written about NVIDIA aiming for doing more general computation and INTEL going for more specialized, parallel vector computation. Since then we got tons of more info about Larabee, CUDA, Stream SDK, OpenCL, DirectCompute etc - all indicating that there might be a fusion one day.

According to a well-known german IT-News Site, INTEL revealed at the IDF09 that at the end of 2010 something called Advanced Vector Extensions (AVX) will be added to DIE of the processor generation named "Sandy Bridge". At a later time, this will be the place for the Larabee integration. Prior to that - in early 2010 - intermediate versions will be available where the INTEL's CPU / GPU mix will in the same box.

Sounds like this won't be "one" unity but separate units very, very close to each other. Obviously this will increase the speed of data-sharing.

"The CPU and the GPU create a co-processing environment where we have the CPU operating on very complicated sequential codes and the GPU operating on massively parallel applications."

Jen-Hsun Huang, NVIDIA’s President and CEO

Bookmark and Share: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • Technorati
  • Digg
  • Reddit
  • Google Bookmarks
  • YahooMyWeb
  • Live-MSN
  • Facebook

Tuesday, 5th May, 2009

Old Alias Research Videos and Mixed Reality

Filed under: Ergonomics and Usability, The World of 3D — dominique @ 02:25

When I recently read about something called "R-Screen" on Dassault Systemes blog "3D Perspectives", it reminded me of something I saw a couple of years ago.

R_Screen

R-Screen is a VR installation created with 3DVIA Virtools (VR pack) and is basically a rotating stereoscopic (rear-pro) screen that aligns towards the viewer based on head-tracking data. It allows to move around a virtual object which increases the feeling of immersion.

Something of similar purpose is Alias Research's "Boom Chameleon" from 1998/99 or so. You basically move a screen attached to a boom around it's center center like a window to the VR world. Nowadays with camera tracked markers, we have this even as Augmented Reality on portable devices! Interesting though how old these concepts are. Another demo shows a Mixed Reality example where objects are staged and affect a virtual scenario. This is called a Tangible Interface.

Alias_Boom Alias Staged Interface

There are a few more (old but interesting) videos online from Alias Research (they take a while to load).

Bookmark and Share: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • Technorati
  • Digg
  • Reddit
  • Google Bookmarks
  • YahooMyWeb
  • Live-MSN
  • Facebook

Thursday, 12th March, 2009

A question of cost and satisfaction

Filed under: 3ds max, Ergonomics and Usability, The World of 3D, Virtools — dominique @ 10:31

CGGenie did an interesting survey called "Upgrades09". After having published the results (see previous link), they also added a very interesting article about how to interpret the results!

It's title: "CG Survey: a question of cost and satisfaction".

To resume the article and the survey, one could say: professional users are less satisfied with their tools than hobbiest or casual users.

Here some extracts:

3ds Max's users have invested a large amount of money, are likely to be professionally pressured in their usage and timescales and also are likely to be pushing the software to its limits every day.

[...] in more challenging ways and those little niggles might become major blockers, those quirky crashes become fundamental cash burners - even though the actual reality of the event, the flaw or the software limitation wouldn't have changed, the user requirements would have.

This helps to understand why a diversified, professional user/customer base might seem always as unhappy grumbler. They use the tools under tight time-frames and budgets. Working with their tool everyday they see what works efficiently and what not. Moreover, they want to push it to it's edges. They want to be fast(er). And if the tool improves, they move fast towards the new 'edge' … pushing it some more! And moreover not necessarily everybody is pushing it into the same direction …

Obviously it's "a far greater challenge" to satisfy those people. 

Bookmark and Share: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • Technorati
  • Digg
  • Reddit
  • Google Bookmarks
  • YahooMyWeb
  • Live-MSN
  • Facebook

Wednesday, 28th January, 2009

3D canvas library and SMIL for Firefox

Filed under: The World of 3D, Web3D — dominique @ 09:56

Yesterday I came across this :

(…) Canvas 3D JavaScript library (C3DL), (…) aims to facilitate the development of browser-based interactive 3D graphics with JavaScript. It is highly experimental and is still at a relatively early stage in its evolution. 

(…)

Interesting perspective!!

Also interesting to me is "the effort to implement SMIL for Firefox". But 'interesting' in a different way as I actually once did a SMIL project … many years ago during my studies. Hmm … *thinking* … no idea when, maybe in 2000?? I don't know. What is SMIL, you may wonder? It's a W3C standard … 

The Synchronized Multimedia Integration Language (SMIL, pronounced "smile") enables simple authoring of interactive audiovisual presentations. SMIL is typically used for "rich media"/multimedia presentations which integrate streaming audio and video with images, text or any other media type. SMIL is an easy-to-learn HTML-like language, and many SMIL presentations are written using a simple text-editor

Back then there were no freely available players that actually implemented the whole specification. We tried the Quicktime-Player and the RealPlayer. I know that there was a 3rd one, but I think you had to buy it. Quicktime had support for a really small subset and Realplayer was actually not fully compatible. We had to use not so few 'RealPlayer only' tags, but at the end we were actually able to do a little"rich-media" presentation and watch it using the RealPlayer.

The project was something like a simple web-based SMIL editor. Very simple. We had a HTML front-end where you were able to add media, transitions etc. Then the data was saved as SMIL. The editor was able to load SMIL back for further editing.

I am not sure, if there is nowadays really a need for this. Flash or the combo "HTML, CSS, JS" does the trick.

Bookmark and Share: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • Technorati
  • Digg
  • Reddit
  • Google Bookmarks
  • YahooMyWeb
  • Live-MSN
  • Facebook

Stereoscopic 3D marketing everywhere

Filed under: The World of 3D, stereoscopy — dominique @ 01:03

Maybe I need to correct myself. I said 2009 is going to be important but probably not a breakthrough year for 3D vision using stereoscopy.

This month I saw a lot of marketing in the online and offline media. Early this month a German boulevard newspaper had the main title on their front page saying that the 'nex-gen TV' is going to be 3D-capable and connected to the Internet.

Online I saw on a lot of places the marketing results from NVidia and IZ3D. IZ3D says to have "the first 3d display for gamers".

It's a passive display that requires glasses. It's a bit of the usual PR blahblah ecause X3D had an stereoscopic display aiming for gamers a couple of years ago! With ~1000€ it was affordable for enthusiasts but still too pricey for the mass market. That iZ3D 22" display is around ~400$ - thus more likely to be a mass product. Still it makes it not the "world's first designed for gamers" A key difference is that the IZ3D is using passive stereo, thus you are required to use polarized glasses, but probably also cut costs.

Maybe you remember the active shutter glasses that came with ELSA gfx cards at the end of 90ies. The problem with them is mainly the frequency and - back then and probably today too - they created headaches as the frequency of screens were/are at 60 Hz and it gets halfed, so it gives you a refresh-rate of 30 Hz - which is not enough for a smooth perception. Today there are some displays that go at 120 Hz.
Passive displays don't alternate pictures but show both at the same time. The polarized glasses act as filter, so each eye just gets one image. Usually if you roll your head too much to the sides, the separation gets lost and you get some "ghosting" or even both pictures. But I think it's less a problem than auto-stereoscopic displays where you usually need to be at a specific angle on the horizontal axis.

NVIDA has now new glasses - they are active and they are able to sync to 120 Hz. They refer to 120 Hz displays from Samsung and ViewSonic. There is also Sony experimenting. Same for Panasonic and plenty other companies … !

We have two autostereoscopic displays in our offices. An old one, single-view, and a more recent one with 5 views.

Bookmark and Share: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • Technorati
  • Digg
  • Reddit
  • Google Bookmarks
  • YahooMyWeb
  • Live-MSN
  • Facebook

Saturday, 20th December, 2008

A look at esperient Creator

Filed under: Ergonomics and Usability, GameDev, Web3D, authoring systems — dominique @ 04:56

This posting could be considered to be a response to this comment of RS. He mentions esperient Creator and Maya Real-Time SDK and asks for opinions… here we go:

Maya's Real-Time SDK

I remember the news about Maya's Real-Time SDK but I never had a look at it in order to see what actually it is, at that time. After so many years (6 - 8?) it doesn't seem to have had any impact or long-term visibility. I guess it's ok to say, that today it's not a real option. A good documentation and a good online community helps a lot during production, thus these are things to consider. So let's have loot at the other product mentioned …

esperient Creator - intro

esperient Creator actually was once Cosmos Creator by Radish Works ( in 2003?). I remember that I once downloaded a trial and had a look at it. I felt more comfortable with Virtools therefore I never dived deeper into it. Already at that time it had plenty of toolbars! Here's a screenshot from it that I found on the old Radish Works site. Compared to the actual version, it looks nearly the same:

cosmos creator

Later it became acquired my Righthemisphere in 2004 and renamed to Deep Creator. I think they raised the prices, too. GameDev.com has a little review about it: Deep Creator 2.2 

In 2007 rights were transfered back to the original author(s) and they released in 2008 esperient Creator 3.0. Recently they released 3.5. So this thing is under active development.

Here, a part of the little story behind the name (taken from their blog):

The name is based on the Latin, Spero, meaning ‘I hope’ that has come into present day French as ‘Espere’ (vb) and Italian as ‘Speranza’ (n). So, in addition to meaning that we provide hope to our customers that we can solve their content and publishing problems, it also has the similarity to the word ‘Experience’ which is a great reflection of the team!

Now let's go into product details, we start with the …

Impressions from the online marketing material

Interesting aspects extracted from the available online material

  • cheap seat prices (currently around 500 US $)
  • free runtime viewer (no additional publishing fees): PC and webplayer (IE only)
  • C-like scripting
    • looks like it has break points (p.s. I was wrong, it's macro recording)
    • syntax highlighting
  • powerwall support
  • built-in physics (Newton engine)
  • upcoming feature: procedural image creation ( with CUDA support?)
  • built-in primitives
  • real time reflections, SSAO, advanced render to texture, object grips on 2D and 3D objects
  • HLSL Shaders
  • Animation Timeline Editor

Ok so far for the theory and the promotion material. Let's have a hands-on their demo!

Editor Window Management

The GUI has a standard windows look. It uses a couple of toolbars, that are rearrangeable. Very nice is that it uses docking panes, so you can arrange your layout like in Visual Studio and other modern application. Right-click on the title region of a pane allows to convert it to a register tab, a floating pane or a docked pane. Making there the pane to tab, puts it into the main, central position as tab. But you can also manually drag a pane into a center of another pane in order to add it there as tab. Tearing off docked panes requires a long drag off, which is a bit less intuitive.

On the left side you have a docked toolbar that allows to show/hide specific panes like script editor, scene materials etc.

esperient creator UI docking

The modified layout is automatically saved and used on the next startup. Moreover you can save and load UI layouts to/from files. In addition to that you can use different MS Office themes. I guess it's using a 3rd party MFC extension that brings all this functionality. Unfortunately none of the themes is really appealing to me. The grey of the default theme is not dark enough (I guess especially here under vista). The "Office 2007  Obsidian" style is dark but the toolbars are using a brighter background colour and therefore pop into your eyes - distracting. I guess adding a couple of variations around this theme might be very satisfying. 

dark themed GUI

Viewport Navigation

The viewport navigation is pretty easy:

MMB = Pan
Alt+MMB = Rotate
RMB = Zoom

I like it. In addition to these there navigation icons are on the right top corner of the 3D window. You hold LMB on such an icon in order to do the viewport translation. Similar to Lightwave and maybe also Cinema4d (?).

To change the view to another perspective you can use 3ds max like shortcuts like (P)erspective and (F)ront. The viewport can be switched to a 4-view mode using the space key. Dragging the middle of the 4 views allows to resize the views on the fly. You can also easily drag them to a border and get 2 views this way - works better than in 3ds max, hehehe ;)

several 3d views

I haven't found a "rotate around selection" mode. There is a "focus/zoom on selection" command but it's not bound to any key. You can define it via the settings, though you don't have total liberty of what key (-combo) to use. But CTRL+F, as example, works.

Selections

There are several selection modes like single-object, rectangle, cycle, polygon etc. Using the 'q' keyboard key, you can toggle between the currently active transformation tool and the selection mode, but you can also select while using the transformation too.

Area selection tools seem a bit hard to use because if they hit an object right on the first click, they select that one and ignore the dragged area. If you are in transformation mode you actually start i.e. moving the object under the mouse. Thus it makes area selections not that solid.

Selections can also be done in the "Secene Objects" window. Selections in the Viewport and the "Scene Objects" window are in sync.

Transformations inside the Viewport

The editor has 3d gizmos for doing in place transformation like scale, rotate and translate. The gizmo itself acts a bit like a "universal gizmo" - arrow-heads do translations, dragging the white connectors enables the rotation mode and using the center does a uniform scaling. Something very good is, that they have handles for 2-axis manipulation, too. I think it's save to say that it's more like "3ds max" than Maya.

There is also something called "grippers" and which are similar to 3ds max's "manipulators". They are gizmos that allow to modify object properties inside the viewport. For example the angle of a sliced sphere or it's resolution/tessellation.

Transformation gizmo and grippers

Several snapping modes are available: grid, face, edge, vertex, pivot, angle etc. When snapping to a face or edge, it's not always clear what's going on - some visual cues would help.

Changing between different modes otherwise is not always intuitive. Sometimes I got into the pivot-move mode although it was not intended.

There are two coordinate-systems: world and local. Local transformations via the gizmo seem not always to work properly.

Material Editor

The material editor allows you to edit and create new materials. On the left side there is the list of materials and on the right side are the properties of the selected material. Unfortunately is the right side not scrollable, so if you dock that window at the bottom with not much height, you won't be able to access all the properties.

Nice is that you have a quick access to the textures via a texture-browse. Unfortunately it seems a bit slow and there is no mechanism to classify your texture content (which could speed up loading times, too). It combines all texture directories, i guess. Using the asset browser you have a better overview and control.

A material consists of several "stages" which can be added at will (up to 8). This is nice because if gives probably more flexibility and control than i.e. the old Virtools Texture-Effect approach.

Material Editor and colour picker

Something that I do not understand is why they use biiig buttons for the colours. There is a coloured, filled rectangle showing the actual colour, why not use that as button and have this big thingy taking screen space? Also, choosing a colour inside the colour-picker dialog does not change the colour of the material immediately, one has to close the dialog with OK. Interactive colour tweaking is thus not possible and makes adjustments more time-consuming.

Final words on the editor

The editor has some strong points: transformations gizmos, layout and theme customisation etc. Although they have a pop-up slider widget for interactive number adjustings, colour adjusting is not interactive. Moreover some areas require a minimum space which reduces the editor layout flexibility artificially. Funnily, there is no "recent files" list. On the other hand there light-setups presets! Thus "not perfect, but the overall impression of the editor GUI is good!".

Number slider

Ok, that was a lot of talk about the GUI editor itself. But this is how I approach such products. If you are under time pressure, you need solid tools and workflows. Best is, if you can "re-use" some of your knowledge from other tools. In this case being 3ds-max-like or Maya-like, in some areas, helps

Scripting

I am kinda sorry, but this section is going to be very short.

There is an interesting looking script editor. I think it uses the free source code editing widget called Scintilla. Thus it's probably going to be a smooth editing experience. Scripting can be done in Lisp or CScript. If you look at the image below, you can see in the top left corner a list of callbacks. On the top right, there are global variables. For example you can reset your variables inside the the "SceneBegin" callback.

script editor

I was looking for a way to add "custom scripts" to objects but it seems that there is no such concept like attachable scripts or components. Besides using the callbacks, you can add something called "animations". Here, animations are not only keyed transformation data, but also "behaviour" code. For each scene object, there is an "animation" register tab. You can add new 'animation behaviours' from a list of pre-made behaviours.

animation behaviours

I am not sure, but it seems that you cannot script custom 'animation behaviours'. Thus you need to combine callback scripts with the pre-made animation scripts. In addition to that you can add "separators" to divide the list into sections, but not do any real grouping to create re-usable components.

If you look at the scripts you may notice that there is a lot of state checking going on. This clearly shows the problem of not having a higher level logic-management, or not being able to attach custom behaviours that can be enabled or disabled from a 3rd, a 'managing', component.

Non-programmers probably can create some basic interaction without the need of programming knowledge as the 'animation behaviour' parameters allow to select events and targets. But I guess at some moment things can get a bit messy. For scripters, the environment looks a bit inflexible, restricted. You can add custom c++ plugins, but I don't know how much this helps.

Please note, that all these are personal impression - I might be wrong OR the way it works is just fine for you,

Resume

I am not sure for what kind of target audience this is aiming for. It's a bit of everything: a bit of 3D DCC (Digital Content Creation) like 3ds max and a bit of interactivity authoring. It certainly a couple of times cheaper than Quest3D or Unity3D and plenty times cheaper than Virtools. Thus it might be a solution for little projects that only need basic interactions.

If I made mistakes, please correct me. If you are producing with this product, please feel free to tell us about your experiences. For all the others, I hope was an interesting read and helps.

Bookmark and Share: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • Technorati
  • Digg
  • Reddit
  • Google Bookmarks
  • YahooMyWeb
  • Live-MSN
  • Facebook

Thursday, 11th December, 2008

FBX plugins for Max and Maya now extendable

Filed under: 3ds max, GameDev, The World of 3D — dominique @ 01:13

Autodesk released a new SDK which allows you to customize the DCC FBX exporters and importers for 3ds max and Maya.

On the Autodesk website it says:

Autodesk FBX 2009.3 technology now includes published source code for the FBX and COLLADA readers and writers, enabling developers to extend and adapt the code for use in custom pipelines.

[...] and thus protect their investment in their FBX plug-ins.

And the docs specify:

  • Extend the FBX and/or Collada file format to support additional kinds of data.
  • Extend the functionality of the FBX plugins for 3ds Max/Maya to support the reading and writing of files that use your file format.
  • Use FBX SDK directly to read and write files that use your file format, without passing through 3ds Max or Maya.

You can download this SDK which is entitled as "FBX Extensions Software Development Kit". The size of the download is 298 MB. 

Today I was on a local IDGA event and this news was mentioned. Initially I thought that the FBX format itself has become open but this seems not to be the case, unfortunately

:-|

Still, it's good that now one can extend the file format and those plugins. 8)

Bookmark and Share: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • Technorati
  • Digg
  • Reddit
  • Google Bookmarks
  • YahooMyWeb
  • Live-MSN
  • Facebook

Thursday, 20th November, 2008

Google Lively shuts down

Filed under: Web3D — dominique @ 11:11

Surprisingly only a few months after start, Google now announced to stop Google Lively. On their blog it says:

[...] It has been a tough decision, but we want to ensure that we prioritize our resources and focus more on our core search, ads and apps business. [...]

This is understandable but also a bit strange. Maybe they re-did some maths and came to the conclusion that this topic doesn't pay the bills or identified stronger competitors? I've no idea …

Surely, with Second Life's Hype plenty people jumped onto this bandwagon - and now after the initial euphoria, people maybe realize that it is not that easy - as promoted - to make money with 3d online communities? One thing is sure, the most successful online (3d) communities are actually MMO games! 2.8 million units sold in 24 hours, while the german industry suffer a deep crisis due the lack of car sales, crazy!

:)

Bookmark and Share: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • Technorati
  • Digg
  • Reddit
  • Google Bookmarks
  • YahooMyWeb
  • Live-MSN
  • Facebook