Search form

cmiVFX Launches ICE for Production Environments Video

cmiVFX | cmiStudios launches a brand new video for Autodesk's Softimage ICE product line. cmiVFX sought the help of ICE Master, Thiago Costa, who is currently dealing with ICE on several projects in a professional production pipeline. This video is available now at the cmiVFX store. cmiVFX Video Player Online Store at

Introduction to ICE workflow:You didn't learn how to walk before you learned to crawl, so in the first part of this video we bring you up to a fast walk in progression. You will get familiar with the ICE dataflow, realtime evaluation, and understand how everything works inside of the framework while learning the principles of designing efficient graphs. We continue with an overview of the nodes and connect things together to start designing effects in ICE so that you're ready for what will come in the next chapters!

Vector Math Basics:We will start this next section talking about the basics about vectors. You will start from the beginning, creating a couple vectors and experiment with basic mathematic operations to grasp the concepts of Vector Math in a logical way. This is the foundation for the most complex effects done in 3D, whether it's a fluids simulator, complex deformation system, constraint or 3d camera, you will have to really understand vector fundamentals! Don't worry, we designed the education workflow of this video to accommodate any production ready artist.

Vector Math Part 2, Creating a Deformer:You won't get far with vectors if don't try to build something with them! In this video we will start to understand the logic used to create a deformation tool. The techniques learned in this chapter are crucial in order to get a better understanding of how complex effects are created.

Introduction to Math Notation, Finding the Center or Mass of a Particle System:Math notation can be a scary thing to look at the first time, but with this lesson you will see how straight forward it is to translate an equation directly into an ICEgraph. We are going to show you how to model a very simple condition where the center of a Particle System get's shifted totwards the higher mass bodies in the system. Being a physical condition, we can just apply the same principle to model the relation of any bodies with mass, like the Earth and the Moon.

Arrays and Strands:In this next chapter you will get introduced to Arrays in ICE and see how basic array manipulation works by adding and removing items, finding data into an array structure and using the low level nodes to manipulate data. Then we will see how to apply these same concepts in practice by creating and deforming a strand in ICE. The concepts presented on this lesson can be used to create many different tools and is essential to learn in order to create robust tool-sets.

Arrays Part 2, Rotating a Strand:See how we apply the concepts of the previous lesson by creating a specific array that contains the data necessary to rotate and deform a strand even further. This is the basic concept you need to know in order to create your own Strand deformation systems and start using arrays properly. This video is complementary to the previous chapter.

Graph of a Function, Visualizing Points in a Polar Coordinate System:See how Function curves work inside of a polar coordinates representation. Understand what the differences are between polar coordinates and the Cartesian plane. Learn how to create the classic graphs that yield the Rose shapes or the Lissajous curves by representing harmonic motion in a polar coordinates system. Investigate how to use Sin wave functions and Cosine functions to change the way that a system of coordinates work. Finally accept the ability to combine multiple concepts in a larger network of capabilities.

Graphing on a Grid:In this chapter you will use the same concepts of graphing but now on a Cartesian grid. Experiment with classic functions and learn how the output changes as its input changes. See how shapes emerge from simple function curves and use ICE as a graphing calculator. Understanding these concepts will make a big difference on how you think about your equations and what you can do with function graphs.

Vector Math, Rotating Vectors:"Rotate Vectors" is useful tool for many different scenarios. You could, for example, create a propeller or a wheel without the need to change the kinematic state of the object. In this exercise you will see how to use vector rotation to add a bit of physics behavior to a system of points. Go from a basic vector rotation to lifting an object in the air with a simulated lift/drag system.

Introduction to Locations:Locations are a data type in ICE itself that allows the user to communicate data between objects. Locations are very powerful and a core component of the ICE work-flow. Learn the essence of this very powerful feature and see how we can deform, read, and project data between objects. Locations make up a complex data structures and there are many ways that you could use it. This example gives you an overview of most types of locations encountered in ICE.

Locations, Updating Particle Positions:In some scenarios you may need to stick objects to each other. The spatial features inside of locations are where its true strength starts to surface. See how we can use point locators to resolve problems that appear when doing half ICE effects and half standard Softimage ops. This example shows a different kinda of work-flow that can be used to store/read data, update, offset and create vectors between objects and a particle system. (Say that 5 times fast!)

Locations, Two Way Object Interaction:Simultaneously coupling objects that interact with each other is a way of making complex effects that ICE tree's will execute sequentially. See how two objects can interact back and forth by reading locations in and out of a system of particles vs polymesh. Effects will emerge rapidly when you can created a system where you can experiment with different configurations.

Forces, Creating a Spring Force:There are many papers and documents out there describing shape matching techniques to be used on deformable objects that get their shape recovered in their local space. Springs are a very basic way of describing this as an elastic motion. It can be used to an infinite extent and understanding it's principles is crucial. This chapter will present how we can create one of these elastic forces from a blank canvas.

Forces, Creating a Shape Matching System:While you still work with the concept of Springs, our process evolves to a more complex technique creating the interaction between objects by deforming and recovering the shape of a constantly deforming system. Learn how locations play a role on this work-flow and how we can create these forces between objects that interact in real-time. This is where you will start to see some cool effects emerging.

ICE Logic, Creating Our Own Collision System:Collisions are an important part of designing ICE systems. Learn how a very basic collision system operates so that you will be able understand complex, multi-faceted collision systems. Learn how to create your own collision detection system without using any collision node that ships with ICE. This lesson will also go through the creation of interacting forces between objects.

ICE Logic, Looking into an Advanced Collision System:Delve deeper at an all ICE collision system. This network was designed by only using low level nodes to model a Sign Distance Field around objects, detect collisions and create interacting forces between objects. See how a basic friction force works in a physically correct simulator. This chapter gives you an idea of when you need to take a basic concept and go further creating a bigger system composed of smaller subsystems.

Building a Forward Euler Integration Scheme:Integrators are the way we describe the simulation through time. This example we deal with derivatives and how to find the position of a point in space by using a Forward Euler integration that can be done in a very simple ICE graph. Learn how to deal with forces, compute acceleration, velocities, and update particle positions to create your own Simulate Particles node without need of any C++ or scripting knowledge.