Top 5 things to learn about ICE?

299 views
Skip to first unread message

Simon Van de Lagemaat

unread,
Dec 15, 2011, 1:08:03 PM12/15/11
to soft...@listproc.autodesk.com

If you ICE experts out there had to recommend the top 5 (first) things to learn about ICE what would they be? I'm looking for cornerstone/pedestal type foundation items.  I'm going to put some time into really learning ICE and I'd like to know what the most valuable concepts are.

 

Cheers

Sam Cuttriss

unread,
Dec 15, 2011, 1:27:14 PM12/15/11
to soft...@listproc.autodesk.com
context
context
context
context
context

Grahame Fuller

unread,
Dec 15, 2011, 1:32:44 PM12/15/11
to soft...@listproc.autodesk.com
!. Context
2. Context
3. Context
4. Context
5. Context

gray

P.S. More seriously:

1. Context
2. Locations, getting data at locations, etc.
3. Reference frames, i.e. knowing which data is local to the object with the tree and which data is not
4. Arrays and array manipulation
5. Transformations and 3D math in general, e.g., knowing the difference between multiplying a vector or a position by a matrix.
6. Simulated versus unsimulated trees and how it all fits with the operator stack

winmail.dat

Stephen Blair

unread,
Dec 15, 2011, 1:32:37 PM12/15/11
to soft...@listproc.autodesk.com
Here's 5 things off the top of my head...


- Data flow in an ICE tree

- Data context, structure, and type

- ICE trees, the operator stack, and evaluation (eg simulation versus modeling)

- Attributes

- Transforms, matrices, vectors, and coordinate systems


From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Simon Van de Lagemaat
Sent: December-15-11 1:08 PM
To: soft...@listproc.autodesk.com
Subject: Top 5 things to learn about ICE?

winmail.dat

Stephen Blair

unread,
Dec 15, 2011, 1:56:11 PM12/15/11
to soft...@listproc.autodesk.com
Graham is right, locations is good thing to understand.
I'd replace "attributes" in my list with "locations"...

For arrays, I guess it depends on whether or not you do any programming.
If you do, then arrays aren't that hard to grasp.

winmail.dat

Simon Van de Lagemaat

unread,
Dec 15, 2011, 2:06:19 PM12/15/11
to soft...@listproc.autodesk.com

I don't program at all.  But I'm sure if I bang my head up against that wall enough it will crumble!

 

Thanks for all these tips guys, this will really help.

 

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Stephen Blair
Sent: December-15-11 10:56 AM
To: soft...@listproc.autodesk.com
Subject: RE: Top 5 things to learn about ICE?

 

Graham is right, locations is good thing to understand.

I’d replace “attributes” in my list with “locations”…

 

For arrays, I guess it depends on whether or not you do any programming.

If you do, then arrays aren’t that hard to grasp.

 

 

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Stephen Blair
Sent: December-15-11 1:33 PM
To: soft...@listproc.autodesk.com
Subject: RE: Top 5 things to learn about ICE?

 

Here’s 5 things off the top of my head…

Fabricio Chamon

unread,
Dec 16, 2011, 12:33:22 AM12/16/11
to soft...@listproc.autodesk.com
1 - context, locations, operator stack
2 - strong foundation on vectors, because that's what you are going to manipulate about 80% of the time (at least for me)
3 - encapsulation/modules. Know how to break a problem into small tasks, know when to compound nodes so that they can be used elsewhere. (that's the beauty of ICE)
4 - get used to node naming conventions. They can be a good shortcut to find what you want in the big list of nodes. (Turbulize/Randomize/Test/Modulate/Filter by/etc)
5 - medium to long term: focus on performance! Avoid Repeat nodes, know how to optimize geometry queries, build an intelligent graph, skip unnecessary tests, know that getting the squared length of a vector is faster than getting its length (if all you need is comparision). 

that's what I can think right away...

Matt Lind

unread,
Dec 16, 2011, 1:30:20 PM12/16/11
to soft...@listproc.autodesk.com

In other words, learn to be a programmer.

 

 

Matt

 

 

 

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Fabricio Chamon


Sent: Thursday, December 15, 2011 9:33 PM
To: soft...@listproc.autodesk.com

Simon Van de Lagemaat

unread,
Dec 16, 2011, 1:54:15 PM12/16/11
to soft...@listproc.autodesk.com

Ya that's the sticky part :-) 

 


Sent: December-16-11 10:30 AM
To: soft...@listproc.autodesk.com

Eric Thivierge

unread,
Dec 17, 2011, 2:16:03 AM12/17/11
to soft...@listproc.autodesk.com
ICE == a programming language no?

--------------------------------------------
Eric Thivierge
Currently: Digital Artist, Rigging at Animal Logic
http://www.ethivierge.com

Andy Moorer

unread,
Dec 17, 2011, 8:55:58 AM12/17/11
to soft...@listproc.autodesk.com
1. Context
2. Operator stack effects on ICE trees (and the power therein)
3. The 'location' concept
4. Changing your thinking to view ICE as a means to manipulate data in general, which can be used in many creative and surprising ways in XSI (ie: ICE is not just for procedural modeling and simulation/particles.)
5. Translating pseudocode and core math/programming concepts into ICE, which is a lifetime's worth of work (arrays, math/linear algebra/matrices, algorithms and approaches to problems in CG both new and old, etc etc)

Chris Marshall

unread,
Dec 19, 2011, 6:21:44 AM12/19/11
to soft...@listproc.autodesk.com
To have some meaningful assistance, it would be worth knowing whether you've ever coded before and whether that's the route you're expecting to go with ICE.
If you're more of an artist, the list of 5 would be very different than if you're expecting to run it like a coder.
I'm confused by the "Context" advice as I have no idea how this is going to help as a start point. As a non coder I would suggest these:-

1. Start with poking around inside some of the demo scenes. Basic Fire, Spawning Fireworks, Particle Forces Surface etc. I'd open these up, dig around in there, remove/replace nodes and generally see what's going on until you're happy you understand what's doing what.
2. Try going into compounds, even the factory ones and see what's happening and even change them. Quite a lot of them are very simple and are there to just package up regular tasks in a neat way. That makes it easy to see what's going on and possibly show how you can build your own. Even poke around in the emit compounds and figure out what's doing what. You'll have a much better understanding of the general structure of ICE workflows that way.
3. Experiment Experiment Experiment. Try to create simple effects and make sure you understand why things are happening. Some of my early tests were all about trying stuff and just seeing what happens. The main thing is to understand how to move particles or points around in a controlled way. ICE isn't just a simulator, so try moving points around yourself manually.
4. Don't be afraid to use loops (Repeat and Repeat with Counter). It's usually frowned on by coders, but if you're a non coder, just have a go. The concept of a loop is very simple and can help in all sorts of situations. There are ways around using them, but like I said, for a non coder it's the concept of a loop that is straight forward to understand.
5. Read and understand the Getting and Setting Data in ICE Trees in the help docs, including the section on Setting Custom Attributes. This is something you'll need to do a lot of, so have a good read of that and try out some of the examples.

That's it. Good luck!!
Chris

Raffaele Fragapane

unread,
Dec 19, 2011, 10:13:24 PM12/19/11
to soft...@listproc.autodesk.com
Not really.
Programming just happens, as a discipline, to have been at these problems and models for a long enough time to have found patterns, tools, and methodologies to categorise and solve most of them in the most efficient way possible.

Learning to be a problem solver doesn't necessarily require that you become a proficient computer scientist and accrue knowledge of the specifics of several languages and APIs. In fact ICE has made it extremely easy to experiment with and teach about paradigms and models with a visual and immediate feedback that before required a major entry fee in terms of knowing  language and an API.

The problems and models don't change, nor do the fundamentals you should learn, just you now get exposed to things that before would have been removed from most users because you don't pay for the entry ticket anymore before bumping into that wall. It's a good thing ;)

Chris Marshall

unread,
Dec 20, 2011, 5:06:59 AM12/20/11
to soft...@listproc.autodesk.com
In fact, it's a very very good thing! ICE is nothing like programming, it's visual fun!
--

Chris Marshall
Mint Motion Limited
029 2002 5762
07730 533 115


Andy Moorer

unread,
Dec 20, 2011, 10:07:09 AM12/20/11
to soft...@listproc.autodesk.com
Lol. Visual fun.

Hey Chris, you may have spent a little too much time doing commercials... ;)

Rob Chapman

unread,
Dec 20, 2011, 10:20:06 AM12/20/11
to soft...@listproc.autodesk.com
nah, he has a point, its fun (for some) in comparison to trying to learn Python or C++ or whatever :)  instant gratification of the red node means it don't work before you execute your script!

Raffaele Fragapane

unread,
Dec 20, 2011, 6:59:57 PM12/20/11
to soft...@listproc.autodesk.com
In my experience ICE has provided that ease in step that was the missing link before, and more and more people are picking up some sort of programming fundamentals, or even full blown C++. I know it was hugely useful in my workshop for the maths weeks.
It's sort of a gateway drug :)

Eric Thivierge

unread,
Dec 20, 2011, 7:14:05 PM12/20/11
to soft...@listproc.autodesk.com
I'll confirm what Raf said, being that I took the workshop and having ICE handy to wrangle together the concepts of the math portion was a huge asset and great visual learning tool. My vague understanding of what vectors were and my obliviousness of how a matrix broke down was quickly remedied.

I've found that prototyping or troubleshooting my Python vector / matrix maths with ICE has been such a life saver. I'm not hesitant any longer on diving into more computational focused tools. 

It is a gateway drug and Raf has us hooked up to IVs pumping it into our veins at the office. :)

--------------------------------------------
Eric Thivierge
Currently: Digital Artist, Rigging at Animal Logic
http://www.ethivierge.com


Rob Chapman

unread,
Dec 21, 2011, 4:24:49 AM12/21/11
to soft...@listproc.autodesk.com
That is true, with me it was more a gateway drug to Maths & Physics Algorithms and not programming, Several books & repeated exposure and some of it is starting to make sense!

ICE, expanding horizons since XSI 7

Matt Lind

unread,
Dec 21, 2011, 1:50:12 PM12/21/11
to soft...@listproc.autodesk.com

No.  ICE is a framework for creating operators which abstracts the low level details away from the user so he/she can focus on the task at hand as it relates to 3D.  In order to make effective operators, the user needs to be knowledgeable in the area of what ICE is doing at a high level so he/she can use the available resources properly.  Just like with scripting you can be functional without that knowledge, but you’ll be far from efficient - or as a friend of mine would always say, “know just enough to be dangerous”.

 

To use an analogy, just because you know how to speak French doesn’t make you a French poet.  Knowing the language is not enough.  You have to understand the inner workings of all the pieces to know how to put them together in a cohesive manner.  In the case of ICE, that means getting more versed in topics of computer science, and possibly mathematics and/or physics depending on what you’re doing. 

Chris Marshall

unread,
Dec 22, 2011, 3:48:09 AM12/22/11
to soft...@listproc.autodesk.com
 If ever there was a way of scaring animators away from ICE, Matt, your comment is it! What we need is for everyone to play with ice and not even think about the maths side of it. How far they get will be down to their own ability. I really don't regard myself as someone who understands the maths side of things, but I get by because of the way ice works. It bridges the gap between artist and coder, but also allows coders to dig deeper.
Just because I'm not a French Poet doesn't mean I can't kick some serious ICE butt!! ;-)



>
> To use an analogy, just because you know how to speak French doesn’t make you a French poet.  Knowing the language is not enough.  You have to understand the inner workings of all the pieces to know how to put them together in a cohesive manner.  In the case of ICE, that means getting more versed in topics of computer science, and possibly mathematics and/or physics depending on what you’re doing. 
>
> Matt
 

Sebastian Kowalski

unread,
Dec 22, 2011, 4:25:18 AM12/22/11
to soft...@listproc.autodesk.com
AMEN!



Am 22/12/2011 09:48, schrieb Chris Marshall:
�If ever there was a way of scaring animators away from ICE, Matt, your comment is it! What we need is for everyone to play with ice and not even think about the maths side of it. How far they get will be down to their own ability. I really don't regard myself as someone who understands the maths side of things, but I get by because of the way ice works. It bridges the gap between artist and coder, but also allows coders to dig deeper.
Just because I'm not a French Poet doesn't mean I can't kick some serious ICE butt!! ;-)


>
> To use an analogy, just because you know how to speak French doesn�t make you a French poet.� Knowing the language is not enough.� You have to understand the inner workings of all the pieces to know how to put them together in a cohesive manner.� In the case of ICE, that means getting more versed in topics of computer science, and possibly mathematics and/or physics depending on what you�re doing.�
>
> Matt
�

Sajjad Amjad

unread,
Dec 22, 2011, 5:06:43 AM12/22/11
to li...@sekow.com, soft...@listproc.autodesk.com
I don't think Matts comments are scary at all. Seems like a fair breakdown of two possible approaches to ICE. My experience has shown that although both camps, those with and without programming knowledge, can usually get the job done. There is, however, a pretty big difference in how the trees are put together. Also, the time taken to reach the desired result is exponentially proportional to the complexity of the job.

All that's being said is that - yes, you can play with ICE all you want, but having some technical knowledge is only going to increase the bounds of your playground.

On 22 December 2011 09:25, Sebastian Kowalski <li...@sekow.com> wrote:
AMEN!



Am 22/12/2011 09:48, schrieb Chris Marshall:
 If ever there was a way of scaring animators away from ICE, Matt, your comment is it! What we need is for everyone to play with ice and not even think about the maths side of it. How far they get will be down to their own ability. I really don't regard myself as someone who understands the maths side of things, but I get by because of the way ice works. It bridges the gap between artist and coder, but also allows coders to dig deeper.
Just because I'm not a French Poet doesn't mean I can't kick some serious ICE butt!! ;-)


>
> To use an analogy, just because you know how to speak French doesn’t make you a French poet.  Knowing the language is not enough.  You have to understand the inner workings of all the pieces to know how to put them together in a cohesive manner.  In the case of ICE, that means getting more versed in topics of computer science, and possibly mathematics and/or physics depending on what you’re doing. 
>
> Matt

 

--

Chris Marshall
Mint Motion Limited





--

-----
"Consistency is the last resort of the unimaginative" - O. Wilde

Juhani Karlsson

unread,
Dec 22, 2011, 5:53:09 AM12/22/11
to soft...@listproc.autodesk.com
Always when learning something, attack to your weak spot.
In case youre well grounded with programming, learn to do something visual/practical with it.
In case youre artist that can`t program, try to make system that eases the your everyday tasks. ect.

Famous quote by Einstein "The definition of insanity is doing the same thing over and over again and expecting different results"

2011/12/22 Sajjad Amjad <sajjad...@gmail.com>

Bradley Gabe

unread,
Dec 22, 2011, 12:49:39 PM12/22/11
to soft...@listproc.autodesk.com
On a side note (pun not intended), I've recently realized that my skills as a coder have increased substantially because of my experience with ICE. I had to write a script to plot out a simulation and do all the math within the script (It involved a lot of converting between different coordinate spaces for different parts of the calculations).

Because of experience interacting with math in ICE, I had the vector and transform manipulations down so well, I was able to do all of it in my head, and the simulation worked on the first run of the script.

It was a nice moment for me, like unexpectedly recognizing that the training wheels were off the bicycle.


On Thu, Dec 22, 2011 at 11:41 AM, Bradley Gabe <with...@gmail.com> wrote:
Not everyone learns the same way.

You can learn how to play a piano by first learning how to read music, doing scales and variations, music theory etc.

Or, you can just sit down and start tapping keys, and learn to associate tones with finger positions.

The important point is, the piano *makes a sound* when you press a key, despite how much music theory you know.

Many people learned to play piano by ear first, as kids, then went on to eventually learn the theory and become virtuosos.

--

The beauty of ICE is, you can just sit down and start tapping keys, and it *makes a sound.*

Bradley Gabe

unread,
Dec 22, 2011, 12:41:28 PM12/22/11
to soft...@listproc.autodesk.com

Matt Lind

unread,
Dec 22, 2011, 2:57:00 PM12/22/11
to soft...@listproc.autodesk.com

Basically what I said is that to use something effectively you have to learn something about it.  If that concept scares you then you definitely should not be touching ICE, because when people with that approach touch technical things in a production pipeline, it scares TDs in the same way an exuberant child with a fork in extended hand heading towards an electrical outlet scares the parents.

 

Like I said before, you can ignore all the details and be functional (which seems to be the approach you prefer), but don’t be surprised when it doesn’t work and/or creates problems.

 

 

Matt

 

 

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Chris Marshall
Sent: Thursday, December 22, 2011 12:48 AM
To: soft...@listproc.autodesk.com
Subject: Re: Top 5 things to learn about ICE?

 

 If ever there was a way of scaring animators away from ICE, Matt, your comment is it! What we need is for everyone to play with ice and not even think about the maths side of it. How far they get will be down to their own ability. I really don't regard myself as someone who understands the maths side of things, but I get by because of the way ice works. It bridges the gap between artist and coder, but also allows coders to dig deeper.

Paul

unread,
Dec 22, 2011, 3:13:44 PM12/22/11
to soft...@listproc.autodesk.com
I think it's just your wording that sounds ominous. 
In fact Ice makes things very approachable and straightforward and invites experimentation, which is how I learnt, but you make it sound like it should not be tampered with or it will explode. 
Of course it's worth learning the basics, but artists can start getting a feel for how ice works and produce useful basic tools within a very short time. 
I know very little about vector maths concepts ( but slowly learning) but I can do loads in ice even without that skill and knowledge. 


Reply all
Reply to author
Forward
0 new messages