As it turns out, I wasn't doing the math part wrong, it was something else
in my ice tree that was causing the problem. While I was going through my
ice tree trying to figure out what I did wrong, I accidentally deleted a
node. After undoing it I got this error:

 

# WARNING : 3000 - **** Cycle breaking point
sphere.polymsh.secondaryshapemarker

# WARNING : 3000 - Cycle through null.null.ICETree

# WARNING : 3000 - Cycle through sphere.polymsh.ICETree

# WARNING : 3000 - PROBLEMATIC EVALUATION CYCLES ARE IN THE SPECIFIED GRAPH

 

Undoing the delete should have put everything back to how it was, but now it
wasn't working at all. So I started going through and deleting all the
excess nodes I had added in the different trees that were for displaying
data (set data self.tmp, etc) and all of a sudden it started working as
expected. I'm thinking that maybe I had more than one reference to self.temp
or something similar, but none of the nodes turned red, so I didn't realize
it. 

 

The tip to turn on "use global coordinates for display" did solve a lot of
my visualization problems. Having what I was doing work for the most part
but having the vectors appear to be going in the wrong direction was
definitely confusing.

 

Now that it is working I have noticed something else weird. When I move my
"controller null" the object that is sliding across the sphere will pause
slightly every time it gets to an edge before rotating slightly and moving
along the next polygon. Is this a known issue, or should I be using
something other than Get Closest Location to stick the null on the sphere?

 

P.S. I will be watching weeks 6 and 7 shortly =)

 

From: [email protected]
[mailto:[email protected]] On Behalf Of Raffaele
Fragapane
Sent: Sunday, April 14, 2013 8:21 PM
To: [email protected]
Subject: Re: Creating a vector between 2 objects in ICE?

 

get an object's kine.global.pos, and get another object's kine.global.pos
Subtract one from the other, that's your displacement vector between two
objects.

Its direction (from A to B or viceversa) is determined by the order of
subtraction, so if it's the wrong way around just plug the other way around
in the subtract.

A Vector has no such concept of what object it's under. It will be in the
space of the object you run the operation from. To display it starting from
such object, if the display is what you are using to determine it starts
from the origin, then turn on "use global coordinates for display".

For that vector to operate on an object other than the one you're hosting
the graph on, you might need to add that object's own position to such
vector before output.

If you need more than just the position, then you have more work to do as
you will need to compose a transform from this and additional derivative
data.

 

You're hitting a wall again that has nothing to do with ICE or not using the
right nodes or operations, and all to do with not quite understanding the
math fundamentals of the data and operations you're working with :)

Weeks 6 and 7 ;)

 

 

On Mon, Apr 15, 2013 at 12:17 PM, Sam <[email protected]> wrote:

As the subject says, I'm trying to create a vector between 2 objects in ICE?
Essentially what I want to do is point a null (which is attached to the
closest location on the surface of a mesh) at another object. I've tried
several ways, and I just can't seem to get it to work. It seems that no
matter what I do, the vector is always coming from the origin (0,0,0). I
thought this would be easy, but I'm obviously doing something very wrong.




-- 
Our users will know fear and cower before our software! Ship it! Ship it and
let them flee like the dogs they are!

Reply via email to