An artist came to my desk yesterday asking how to do what I felt was a simple task, but after getting 80% through it I ran into a speed bump realizing it needed custom scripting or other advanced tools to fully resolve to satisfaction. I had to give him a procedure that was ‘good enough’. This problem has multiple solutions, but I am curious how others would solve it:
The problem:
Artist must create an asteroid belt around a planet. The asteroids are likely 2D sprites which must face the camera and tumble as they orbit, but could be 3D objects as well. Asteroids must vary in size, shape, and animation speed (linear as well as rotational). Asteroids cannot collide with anything. Movement is generally slow – like a screen saver for your computer desktop. Asteroid positions are jittered within the belt.
The question:
Dispersing objects into a ring is fairly straightforward through a number of techniques, but how do you apply the random jitter to the object positions?
The rules:
- Cannot use ICE
- Cannot use custom scripts, custom operators, or shaders.
- Must only use tools out of the box that a junior or staff level artist would know how to use.
- Must be able to create the asteroid belt, from scratch to completion, in less than 30 minutes – and be iteration friendly to react to art director feedback.
- Ideally, the belt could be made a child of the planet in encompasses so it can be reoriented with respect to changes in the planet’s size/shape/tilt/orbit.
- Final output must be able to exist with full integrity on its own in a vacuum. Cannot not have dependencies on custom code, external assets, or special case logic.
- Asteroid belt fits within the default grid as seen in the scene camera. Think torus with diameter 40 SI units, and cross section of roughly 3 SI Units diameter
Ready…..GO!
Matt
I should probably mention we don’t do realism here. Think comic book style with a little Anime thrown in.
Given the dimensions of the belt, asteroids could be up to 1 SI unit in diameter for the really large rocks. The camera might move through this belt, so the fact they’re small shouldn’t be so readily dismissed. This isn’t film/video where you can sweep the stuff you don’t see under the carpet.
Matt
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Bradley Gabe
Sent: Tuesday, February 11, 2014 11:48 AM
To: soft...@listproc.autodesk.com
Subject: Re: Survey - how would you do this?
Considering that the typical distance from one asteroid to the next is many thousands of kilometers, you really shouldn't have any issues with collisions if you scale them properly.
An artist came to my desk yesterday asking how to do what I felt was a simple task, but after getting 80% through it I ran into a speed bump realizing it needed custom scripting or other advanced tools to fully resolve to satisfaction. I had to give him a procedure that was ‘good enough’. This problem has multiple solutions, but I am curious how others would solve it:The problem:Artist must create an asteroid belt around a planet. The asteroids are likely 2D sprites which must face the camera and tumble as they orbit, but could be 3D objects as well. Asteroids must vary in size, shape, and animation speed (linear as well as rotational). Asteroids cannot collide with anything. Movement is generally slow – like a screen saver for your computer desktop. Asteroid positions are jittered within the belt.The question:Dispersing objects into a ring is fairly straightforward through a number of techniques, but how do you apply the random jitter to the object positions?The rules:
- Cannot use ICE- Cannot use custom scripts, custom operators, or shaders.- Must only use tools out of the box that a junior or staff level artist would know how to use.- Must be able to create the asteroid belt, from scratch to completion, in less than 30 minutes – and be iteration friendly to react to art director feedback.- Ideally, the belt could be made a child of the planet in encompasses so it can be reoriented with respect to changes in the planet’s size/shape/tilt/orbit.- Final output must be able to exist with full integrity on its own in a vacuum. Cannot not have dependencies on custom code, external assets, or special case logic.- Asteroid belt fits within the default grid as seen in the scene camera. Think torus with diameter 40 SI units, and cross section of roughly 3 SI Units diameterReady…..GO!Matt
Instances are allowed
Matt
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Eric Thivierge
Sent: Tuesday, February 11, 2014 12:37 PM
To: soft...@listproc.autodesk.com
Subject: Re: Survey - how would you do this?
I meant that Matt was going to say that you can't instance stuff as one additional restriction...
An artist came to my desk yesterday asking how to do what I felt was a simple task, but after getting 80% through it I ran into a speed bump realizing it needed custom scripting or other advanced tools to fully resolve to satisfaction. I had to give him a procedure that was ‘good enough’. This problem has multiple solutions, but I am curious how others would solve it:
The problem:
Artist must create an asteroid belt around a planet. The asteroids are likely 2D sprites which must face the camera and tumble as they orbit, but could be 3D objects as well. Asteroids must vary in size, shape, and animation speed (linear as well as rotational). Asteroids cannot collide with anything. Movement is generally slow – like a screen saver for your computer desktop. Asteroid positions are jittered within the belt.
The question:
Dispersing objects into a ring is fairly straightforward through a number of techniques, but how do you apply the random jitter to the object positions?
The rules:
- Cannot use ICE
- Cannot use custom scripts, custom operators, or shaders.
- Must only use tools out of the box that a junior or staff level artist would know how to use.
- Must be able to create the asteroid belt, from scratch to completion, in less than 30 minutes – and be iteration friendly to react to art director feedback.
- Ideally, the belt could be made a child of the planet in encompasses so it can be reoriented with respect to changes in the planet’s size/shape/tilt/orbit.
- Final output must be able to exist with full integrity on its own in a vacuum. Cannot not have dependencies on custom code, external assets, or special case logic.
- Asteroid belt fits within the default grid as seen in the scene camera. Think torus with diameter 40 SI units, and cross section of roughly 3 SI Units diameter
Ready…..GO!
Matt
…and how do you propose we get the ICE data into the engine while fitting into existing game play AND not introducing bugs AND not introducing more work for the engineering staff AND not requiring file format changes which would force us to re-export all assets which precede it – we have nearly 9 year of backlog which would need to be supported?
In film/video terms, imagine introducing your next tool required you re-submit every shot back to the render farm to be re-rendered and forwarded to every department afterwards to redo their work (compositing, fx, color correct, audio, editing, conforming, etc…) – when 90% of the work is in the can and people are already working 16 hours days 7 days a week. Probably wouldn’t be a popular decision.
When resources are scarce, solutions issued to artists of limited knowledge/skill must be in a form they can manage unsupervised which are also safe from jeopardizing the production.
Matt
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Alan Fregtman
Sent: Tuesday, February 11, 2014 12:33 PM
To: XSI Mailing List
Subject: Re: Survey - how would you do this?
It's too bad about the No ICE rule because it's not terribly hard to write a pointcloud exporter to whatever format the engine takes.
1 Beer for you. J
Matt
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Emilio Hernandez
Sent: Tuesday, February 11, 2014 2:39 PM
To: soft...@listproc.autodesk.com
Subject: Re: Survey - how would you do this?
Thanks for clarifying Matt.
Cheers!
You’re ignoring one of the rules – no scripting.
Good job - very impressive! Not sure collisions will be avoided, but looks very convincing.
What I find interesting is every solution so far has gravitated towards the parameter randomization feature - R(start,end). I thought for sure at least one person would open the expression editor and plot out some randomized FCurves or do something in the animation mixer.
I’m curious to know if everybody would choose the same solution if the asteroids had to be 2D sprites? Or if the number of polygons and keyframes were capped to specific amount of data?
Matt
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Christian Gotzinger
Sent: Tuesday, February 11, 2014 4:14 PM
To: soft...@listproc.autodesk.com
Subject: Re: Survey - how would you do this?
Whoops, while cleaning up my account I managed to delete the video.
I did this with a curve deform, animating a few values. It give the inner-circle rocks a faster motion than the outmost parts. The belt is a single object. You can adjust the gaps between the rings if you switch the viewport to 'Sync with current mode" and using modeling construction mode. Not very interactive though.
There is no avoidance or collision. THe belt geo is heavy, maybe to much for a game engine, I dont know. But the scene is very light.
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Matt Lind
Sent: Tuesday, February 11, 2014 8:24 PM
To: soft...@listproc.autodesk.com
Subject: Survey - how would you do this?
An artist came to my desk yesterday asking how to do what I felt was a simple task, but after getting 80% through it I ran into a speed bump realizing it needed custom scripting or other advanced tools to fully resolve to satisfaction. I had to give him a procedure that was ‘good enough’. This problem has multiple solutions, but I am curious how others would solve it:
The problem:
Artist must create an asteroid belt around a planet. The asteroids are likely 2D sprites which must face the camera and tumble as they orbit, but could be 3D objects as well. Asteroids must vary in size, shape, and animation speed (linear as well as rotational). Asteroids cannot collide with anything. Movement is generally slow – like a screen saver for your computer desktop. Asteroid positions are jittered within the belt.
The question:
Dispersing objects into a ring is fairly straightforward through a number of techniques, but how do you apply the random jitter to the object positions?
The rules:
- Cannot use ICE
- Cannot use custom scripts, custom operators, or shaders.
- Must only use tools out of the box that a junior or staff level artist would know how to use.
- Must be able to create the asteroid belt, from scratch to completion, in less than 30 minutes – and be iteration friendly to react to art director feedback.
- Ideally, the belt could be made a child of the planet in encompasses so it can be reoriented with respect to changes in the planet’s size/shape/tilt/orbit.
- Final output must be able to exist with full integrity on its own in a vacuum. Cannot not have dependencies on custom code, external assets, or special case logic.
- Asteroid belt fits within the default grid as seen in the scene camera. Think torus with diameter 40 SI units, and cross section of roughly 3 SI Units diameter
Ready…..GO!
Matt
This could work if normal mapping was used on the sprites, but animated texture sequences would likely be too expensive for a slow sequence like this. If the asteroids moved quickly, then it could be more doable as fewer frames would be needed.
The tricky part with the sprite solution is to keep the asteroids from staring at the camera and flipping in an attention-grabbing way if the camera should travel through the asteroid belt and get close to some of the rocks.
This could work if normal mapping was used on the sprites, but animated texture sequences would likely be too expensive for a slow sequence like this. If the asteroids moved quickly, then it could be more doable as fewer frames would be needed.The tricky part with the sprite solution is to keep the asteroids from staring at the camera and flipping in an attention-grabbing way if the camera should travel through the asteroid belt and get close to some of the rocks.MattFrom: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Sylvain Lebeau
Sent: Tuesday, February 11, 2014 5:17 PM
To: soft...@listproc.autodesk.com
Subject: Re: Survey - how would you do this?Maybe it could work as well.....I think of rendering sequences of a bunch of individual rotating asteriods with camera locked down on them, maybe 10 different ones. So you end up with small rez little videos with a rotating asteroid in the middle.And use the same technique with simple grids....but with orientation constraints to the camera? Worth to try. Only thing is lighting will be baked out in thoses sprite textures.. So hopefully your camera doesnt travel to much and keeps looking in the same light/sprite light direction relation...cool to see everyone chipping in!!sly
Sylvain Lebeau // SHED
V-P/Visual effects supervisor
1410, RUE STANLEY, 11E ÉTAGE MONTRÉAL (QUÉBEC) H3A 1P8
T 514 849-1555 F 514 849-5025 WWW.SHEDMTL.COM <http://WWW.SHEDMTL.COM>
<image001.jpg>
We don’t miss ICE as much as you’d think. What hurts us more is the lack of development in the fundamental tools outside of ICE such as the texture editor, modeling, data management, animation and envelope editing, and so on.
ICE allows you to create many arbitrary effects on a whim, but is also locked into the way Softimage works and not the way we need to work. ICE doesn’t really address the kinds of problems we need solved, or issues that can’t already be solved by other means even if they aren’t as slick. ICE doesn’t support the data we need supported. For example, we’d like to make some ICE modeling tools, but since ICE doesn’t support custom properties and other userdata in topology operations, any time an artist makes a topology edit to an asset, the meta data would be lost creating bugs in our game next time the asset is exported.
For the few areas where ICE would be useful, it either has bugs or feature limitations making it more of a liability than a help. That’s why we don’t use it. ICE needs more work to be a viable option for us.
We don’t miss ICE as much as you’d think. What hurts us more is the lack of development in the fundamental tools outside of ICE such as the texture editor, modeling, data management, animation and envelope editing, and so on.
ICE allows you to create many arbitrary effects on a whim, but is also locked into the way Softimage works and not the way we need to work. ICE doesn’t really address the kinds of problems we need solved, or issues that can’t already be solved by other means even if they aren’t as slick. ICE doesn’t support the data we need supported. For example, we’d like to make some ICE modeling tools, but since ICE doesn’t support custom properties and other userdata in topology operations, any time an artist makes a topology edit to an asset, the meta data would be lost creating bugs in our game next time the asset is exported.
For the few areas where ICE would be useful, it either has bugs or feature limitations making it more of a liability than a help. That’s why we don’t use it. ICE needs more work to be a viable option for us.
Matt
An artist came to my desk yesterday asking how to do what I felt was a simple task, but after getting 80% through it I ran into a speed bump realizing it needed custom scripting or other advanced tools to fully resolve to satisfaction. I had to give him a procedure that was ‘good enough’. This problem has multiple solutions, but I am curious how others would solve it:
The problem:
Artist must create an asteroid belt around a planet. The asteroids are likely 2D sprites which must face the camera and tumble as they orbit, but could be 3D objects as well. Asteroids must vary in size, shape, and animation speed (linear as well as rotational). Asteroids cannot collide with anything. Movement is generally slow – like a screen saver for your computer desktop. Asteroid positions are jittered within the belt.
The question:
Dispersing objects into a ring is fairly straightforward through a number of techniques, but how do you apply the random jitter to the object positions?
The rules:
- Cannot use ICE
- Cannot use custom scripts, custom operators, or shaders.
- Must only use tools out of the box that a junior or staff level artist would know how to use.
- Must be able to create the asteroid belt, from scratch to completion, in less than 30 minutes – and be iteration friendly to react to art director feedback.
- Ideally, the belt could be made a child of the planet in encompasses so it can be reoriented with respect to changes in the planet’s size/shape/tilt/orbit.
- Final output must be able to exist with full integrity on its own in a vacuum. Cannot not have dependencies on custom code, external assets, or special case logic.
- Asteroid belt fits within the default grid as seen in the scene camera. Think torus with diameter 40 SI units, and cross section of roughly 3 SI Units diameter
Ready…..GO!
Matt
As much as I’d like to see NURBS Curve improvements, I’d put it low on the list in comparison to other things that need to be done (Such as NURBS Surface improvements ;-D). Seriously, fundamental tools and SDK improvements are much needed.
As much as I’d like to see NURBS Curve improvements, I’d put it low on the list in comparison to other things that need to be done (Such as NURBS Surface improvements ;-D). Seriously, fundamental tools and SDK improvements are much needed.
Matt
On Tue, Feb 11, 2014 at 11:58 PM, Christian Gotzinger <cgo...@googlemail.com> wrote:
Here's my take on it (will take an hour or so before the link shows up)
We instance like crazy in games. Keeps the memory foot print down (just like rendering) however we still need to battle draw calls. One game I worked on had memory super low and we were doing great but our draw calls went through the roof and our frames per second went way way down. So we had to balance our memory and draw calls delicately to ensure we weren’t over memory but were maintaining a consistent 30 frames per second.
God help those that run at 60 fps like Call of Duty. That’s a tough business. That’s why profiling tools are critical (like PIX on Windows).
_______________________________________________________________________________
Marc Brinkley
343 Industries
Microsoft Studios
marc.brinkley [at] microsoft.com
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com]
On Behalf Of Eric Thivierge
Sent: Tuesday, February 11, 2014 12:37 PM
To: soft...@listproc.autodesk.com
Subject: Re: Survey - how would you do this?
I meant that Matt was going to say that you can't instance stuff as one additional restriction...
On 2/11/2014 3:28 PM, Emilio Hernandez wrote:
Well not $10 bucks but a sample scene will say yes.
https://dl.dropboxusercontent.com/u/49626349/Asteroids.scn
2014-02-11 14:19 GMT-06:00 Tim Leydecker <baue...@gmx.de>:
Do it by hand.
Create null in center of Planet.
Call it Parent_Mom.
Create Volume Previz Torus Helper.
Create Asteroid in Origin.
Create Null.
Name Null Asteroid_P001.
Parent Asteroid to Asteroid_P001.
Animate Asteroid Rotation (its tumbling) in Origin.
Snap Asteroid_P001 to Torus.
Parent Asteroid_P001 to Parent_Mom.
Duplicate Asteroid_P001, resulting in Asteroid_P002.
Snap Asteroid_P002 to Torus.
Create Null, call it Parent_Spin.
Parent Parent_Mom to Parent_Spin.
Animate Rotation (Y) of Parent_Spin.
Create Null, name it Parent_Dad.
Name Planet Forever21Planet, parent Forever21 and Parent_Spin to Parent_Dad.
Duplicate Asteroid_P002 as often as you need and snap to Torus.
Duplicate Parent_Spin, rename Parent_Spin_faster. Adjust Animation to spin faster.
Delete any Asteroids you don´t like, offset animations where neccessary or desired.
Rinse, repeat.
Play.
On 11.02.2014 20:23, Matt Lind wrote:The question:
That is correct.
ICE introduces a lot of risk because it is still molding into shape. We must be as risk averse as possible.
Matt
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Sergio Mucino
Sent: Thursday, February 13, 2014 8:35 AM
To: soft...@listproc.autodesk.com
Subject: Re: Survey - how would you do this?
I think that what Matt meant is that ICE is fairly young tech, and therefore, still prone to possible changes, whereas constraints, using his example, are very old tech that is pretty much not going to change... ever. I can understand his point, but on the flip side, I'm also aware that nothing lasts forever. But policies governing how assets are handled I'm sure are not Matt's to set up, so anyway... I'm starting to ramble, but I think I made my point. Now, back to your original programming :-) .
"I think that what Matt meant is that ICE is fairly young tech, and therefore, still prone to possible changes" Wishful thinking I fear.On 13 Feb 2014, at 20:05, Matt Lind <ml...@carbinestudios.com> wrote: I think that what Matt meant is that ICE is fairly young tech, and therefore, still prone to possible changes