Joe Compound

Plugins linking to this thread: (hide)

Joe's CompoundsAuthor: Joe Zarvosa
A big grab bag of ICE compounds. Maybe you find something that suits your needs. For details, see the si-community discussion thread. Joe's descriptions of the compounds follow:

Emit Particle Tree - Create a tree structure made from particles. See the si-community thread for a detailed description.
Melt Geometry - Melting effect for geometry.
Align Sprite - aligns the sprite to the camera, lets you set the initial orientation of the sprite, and the rate of spin. (NOTE - plug a set self.spriteangleinitialized data into execute on emit, set to FALSE)
Bounding Center -
Bend - I'm proud of having figured out the math I used to make this. play with it, to figure it out.
Bulge - same as the Animation bulge operator...but icier.
Olde Skool Noise - friend of mine wanted noise like it was implemented for particles in <7.0 This was my best guess of how it worked.
Cool Graph - f(x) try the range -5<x<5, -20<y<20


show more...

local backup: Compounds.zip

Zarvosa
Posts: 13
Joined: 19 Aug 2009, 23:13
Location: Vancouver, Canada

Joe Compound

Post by Zarvosa » 26 Sep 2009, 11:30

http://joepolygon.com/ice/fi.php

Added Feb 27th, 2010:
==================
*Emit Particle Tree.1.1.xsicompound (Direct Link)-- Ok, so I'm not very good at condensing cool constructions into a single node, but I think I did a good job here. Only one problem is that you need to have two point clouds to use it >.<
there's an illustration of it's implementation here:
http://joepolygon.com/images/emit_tree.jpg
(note that there is "pointcloud" AND "pointcloud1")

But it's totally worth it!

Ok, years ago when I was fooling around in 3D Studio Max 4, there was a plugin called L-System which took a user-defined algorithm and generated a 3d fractal. Some of them looked a lot like plants, and the best part was that you could watch them grow instead of just having them appear fully shaped. This isn't that, but I'm sure the memory had some sort of relevance, because it keeps coming back to me.

What this does is it starts at a seed location, and grows outward. Depending on the settings you pick it can look like a bush, a tree, a network of blood vessels, and more! What can YOU grow with it?

Take a model of a flower and set the instance shape of the endpoints to that model, it looks incredible! Put a post-simulation ice tree in the destination point cloud, and have it make the branches grow thicker as the tree ages, you can get some solid thick trunks, and tapered branches. Very cool.


*Melt Geometry.1.2.xsicompound (Direct Link)-- Yet again, this node requires a support node. If you have the verlet nodes you can use the Init Verlet Data on Geometry or whatever it's called. That needs to be done in an unsimulated ice tree, before this node is applied in a simulated ice tree.
Basic Setup Illustration
http://joepolygon.com/images/melterizer.jpg
Note that the sphere has two ice trees, one simulated and one not. I exploded the verlet node and isolated the relevant subcomponents so you can recreate it if necessary.

Option-wise, the Weight Map and associated Weight Gradient is totally optional. It's supposed to determine whether or not a part of the Geo melts, but I can't remember if I fixed it (there had been a problem and then I didn't need that anymore for my task)

Oh this is so much fun to play with, especially if you have a model of a person. Even XSI_Man is fun to play with. You Freeze and Cut the model and add an ice tree. You press play and drag the heat null close, and pull it away, and watch as your model is melted and droops and wrinkles in a wonderfully gross way. You should see fingers and hands if Option->Collapse is turned off. It's like a young lady's smooth digits become shriveled hag's claws.



Older stuff.
================
*Align Sprite.xsicompound -- aligns the sprite to the camera, lets you set the initial orientation of the sprite, and the rate of spin. (NOTE - plug a set self.spriteangleinitialized data into execute on emit, set to FALSE)
*Bounding Center.xsicompound
*Bend.1.1.xsicompound -- I'm proud of having figured out the math I used to make this. play with it, to figure it out.
*Bulge.xsicompound -- same as the Animation bulge operator...but icier.
*Olde Skool Noise.xsicompound -- friend of mine wanted noise like it was implemented for particles in <7.0 This was my best guess of how it worked.
*Cool Graph.xsicompound -- f(x) try the range -5<x<5, -20<y<20
*Nifty Particle Denter.xsicompound -- apply to the object that particles bounce off. It's cool, needs high res geo. Something tells me I'm not the one who created this, but I've lost track. Credit Anon.
*Get Particle Identifier.xsicompound -- variation on Get Point ID
*Growing Weightmap.xsicompound -- this was cool, but I forgot how it works :\ ignore it for now, I'll have it figured out shortly. I think I saved a scene for this one on another computer. By the way, dragging ICE Trees through the construction stack to different markers is the buggies frickin thing ever. click click CRASH reboot click click CRASH reboot click click...cli-CRASH
*Turbulize Vector by Cone.1.1.xsicompound -- try plugging it into the direction of an emitter and you'll see what it does.
*Sign Function.xsicompound -- positive input = 1, negative in = -1, 0=0
*Deg to Rad.xsicompound -- degrees to radians. don't ask.
*Motionblur Color.xsicompound -- using RSMB motion vectors, this gave me the colors I needed to blur stuff in the right directions. I had a CC on it in comp though, so something was wrong somewhere. the concept is good though, and it calculates screen movement correctly. (with the cameras I was using >.> )
*Expose Value Hack.xsicompound -- the greatest of all compounds of all time. Love it. Worship it. It makes life easy.
*Get Triangle Area.xsicompound
*Oriented Local Movement.1.1.xsicompound -- for people who do things to moving objects... >.>
*For Loop.1.1.xsicompound -- needed one of these recently to translate an equation into ICE.
*e.xsicompound -- uh...yeah. it's e.
*Test Outside.xsicompound -- which side of an object's closest normal is the point on.
*Sum of Arithmetical Sequence.xsicompound -- needed this for the same thing as the For loop. Things like this make me happy for some reason.
*Offset Data.xsicompound -- double click node, select text box, click again so it's no longer highlighted, type the attribute, press enter, close text box. That is WAY too many clicks in precision locations. I feel held back and limited by the interface...speaking of which, I love the Ctrl-F in SI2010 to put focus on the compound search box.
*Push.xsicompound
*Reflect the particle velocity .xsicompound -- does what it says it does. simple. swiped and cleaned out of Bounce Off Surface.
*Stick to Object.xsicompound -- this used to have a purpose, but that was before I knew what I was doing. Maybe it still does, but there's probably a much more efficient way of doing it.
*Rolling.xsicompound -- This one also makes me happy ^.^
*Modulate by local Y.xsicompound -- Very important if you ever make a tornado. Useless on volcanoes.
*Test Vertex Convexity.xsicompound -- very cool, and in certain situations practical!
*Refract Through Surface.xsicompound -- kinda cool to play with. Check out the scene file.
*Fountain Ripple System.xsicompound -- figure it out by experimenting. use it on the water surface.
*Rad to Deg.xsicompound -- radians to degrees
*Simple Reflection.xsicompound -- err. didn't I have Reflect the particle velocity already? doh. I fail.
*Omni Divide.xsicompound -- three and a half steps beyond "divide by scalar"
*Ambient Occlusion on Weightmap.2.0.xsicompound -- fun. Radical even! but rather inefficient. peek inside at the "build array" node... >.< anyone know a better way?
*Randomize Initial Orientation.1.1.xsicompound -- plug into emitter
*Da Ripple Machine Shizz.xsicompound -- Dude, totally check this one out, take a look at the example scene. I know in xsi 6.5 I'd been trying so hard unsuccessfully to make water ripple based on the contours of the submerged object, but now I really can! *maniacal laughter* It is time to die, crappy ripple_displacement animated texture! (notes - Soften Weight Map and Soften Iterations are costly, turn them down (to 0) at first to get timing right. Speed Factor tends to fuck things up, but sometimes works.)
*Offset Point Position.xsicompound
*Pelz Cascade 9000.2.0.xsicompound
-- rather specific, to have an object interrupt a vertically-based object, such as falling water being blocked where an object penetrates the curtain.
*Rotate Vector around Pivot.xsicompound -- Rotate Vector + more!

I'm currently using the demo of SI2010 so the scenes in their subfolder may be unopenable in earlier versions >.>

I wish I had more time to play, this is fun!

A copy can be found on si-community here:
http://www.si-community.com/download/co ... pounds.zip

Melt- and new particle_tree can be found here:
http://www.si-community.com/download/co ... e_tree.zip

Demo Scenes:
http://www.si-community.com/download/co ... scenes.zip
Last edited by Zarvosa on 28 Feb 2010, 02:20, edited 1 time in total.

User avatar
origin
Posts: 619
Joined: 09 Jun 2009, 11:59
Location: warsaw

Re: Joe Compound

Post by origin » 26 Sep 2009, 11:37

This is nice, they all yours ?
thanks

User avatar
Hirazi Blue
Administrator
Posts: 5107
Joined: 04 Jun 2009, 12:15

Re: Joe Compound

Post by Hirazi Blue » 26 Sep 2009, 11:40

One link to download them all in one go would be nice... :D
Stay safe, sane & healthy!

Zarvosa
Posts: 13
Joined: 19 Aug 2009, 23:13
Location: Vancouver, Canada

Re: Joe Compound

Post by Zarvosa » 26 Sep 2009, 11:46

yeah. except Nifty Particle Denter.xsicompound. And any other exceptions in italics.

Also, the Refract Through Surface is like 90% of "Bounce Off Surface"

heh, the list isn't even in alphabetical order. I guess I COULD zip 'em up. :| get 7-zip. it works a billion times better than winzip but nobody because nobody seems to have it I'm forced to keep using winzip, and perpetuating the cycle...since I still have my ftp program open though, I'll zip them. JUST for you. gimme a minute or two

Zarvosa
Posts: 13
Joined: 19 Aug 2009, 23:13
Location: Vancouver, Canada

Re: Joe Compound

Post by Zarvosa » 26 Sep 2009, 11:52

there! near the bottom is Compounds.zip -- I wonder how the php files gets the order of these files?

I just stuffed a really simple php file in there (14 lines!) to display the files in the folder. Maybe later I'll make it pretty and more useable...

User avatar
Hirazi Blue
Administrator
Posts: 5107
Joined: 04 Jun 2009, 12:15

Re: Joe Compound

Post by Hirazi Blue » 26 Sep 2009, 11:58

Thanks for the trouble! I am definitively going to take a good look at them! :-bd
Stay safe, sane & healthy!

User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia
Contact:

Re: Joe Compound

Post by Mathaeus » 26 Sep 2009, 13:38

WOOOW.....

...for array on 'ambient occlusion on weightmap', I'm using something like in image. Maybe it would be more correct to drive angle rotation by sub indices of array - let's say that axis may be the subtract from point position to the first point neighbor position, something like that.

BTW, for 7.01 users here, it seems that compounds working nice with 7.01 too, at least a few of them that I tried.

Thanks !

Image:
http://www.matkovic.com/anto/temp/ao-resize-array.png

User avatar
druitre
Posts: 471
Joined: 25 Jun 2009, 23:35

Re: Joe Compound

Post by druitre » 28 Sep 2009, 15:59

Thank you!

Zarvosa
Posts: 13
Joined: 19 Aug 2009, 23:13
Location: Vancouver, Canada

Re: Joe Compound

Post by Zarvosa » 02 Oct 2009, 08:58

added a couple more:

*Transform.xsicompound -- We all know that SI doesn't like it by default if you try to modify kinematics. Some of us know that you can multiply an object by a matrix to achieve the same effect (although the pivot point stays still) That's what this node does: you execute it and get a second chance to adjust an object's Scale-Rotation-Translation

Neat way to cause instability and sometimes cool fx: You can't drive kinematics, but you can drive custom parameter sets. (buggy but functional)
make a custom parameter set (e.g. myXpos myYpos myZpos ) and put an expression on an objects kinematic properties to derive from the custom parameter set. Bammo, you can control an object via ICE. It can work, but sometimes when you get to the set data part it turns red, freezes and crashes. I got a set of five lights to follow five particles once. It was very cool :)

*JP_Generate 3D Point Grid.xsicompound -- use on a point cloud. It works the same as Generate 3D Point Grid, but it also sets basic particle properties, so you can simulate with it. (if used in a simulated ICETree, key "Enable" on and off for 1 frame, or else you'll get a new box each frame)
*Oriented Local Movement.1.2.xsicompound -- little bug in the last one...there was an embedded compound that I didn't include here so it wouldn't work right. Fixed.
*Joe_SpriteTex.xsirtcompound -- a compound for the render tree if there's anyone else out there who values using a well made sprite. Quick and easy, with good looking results. You still need to orient and possibly spin them yourself in the ICE tree though.


*Growing Weightmap.xsicompound -- ok, so this one's complicated to use, but you get a bonus: I uploaded three scene files (GrowthHormones, ~_2, and ~_3 that should work in XSI 700. Someone test that for me? )
First: need an object with a weightmap.
Second: add some basic data in a unsimulated ice tree, to set the initial state of the object. For source points set self.PointAge to 1.0, self.Living to True and self.Dying to False. For all other points set the three variable to 0 or False.
Third: add a simulated ice tree and plug in the Growing Weightmap node.
Cross your fingers, toes, say a small prayer, and push play. If you compute implodes spontaneously into a black hole I am totally not liable.
It's cool on the lab bench, but I dunno how applicable it is. except the GrowthHormones_2 scene file has a cool effect (you need to open a render preview to see the effect)


Life -- Scene file: Life.scn. It doesn't condense easily into a compound, but I made a ICETree that follows the rules of Conway's "Game of Life." Initial state is set by the weight map on the grid underneath the point cloud.

User avatar
Tekano
Posts: 488
Joined: 09 Jun 2009, 14:49
Location: London, UK

Re: Joe Compound

Post by Tekano » 02 Oct 2009, 13:15

Nice - Growth Hormone 2 & 3 definitely works in XSI 7.5 :)
Gossip is what no one claims to like, but everybody enjoys.

Robert_XSI
Posts: 31
Joined: 10 Nov 2009, 10:59

Re: Joe Compound

Post by Robert_XSI » 11 Jan 2010, 11:37

What is expose value hack good for?? :ymblushing:

How can it be used?

Thanks for your compounds!

Zarvosa
Posts: 13
Joined: 19 Aug 2009, 23:13
Location: Vancouver, Canada

Re: Joe Compound

Post by Zarvosa » 12 Jan 2010, 06:41

Expose value hack.

you use it when you want to expose the value of a branch you're building, but haven't gotten to the point where it actually plugs into anything in your ICETree. Like if you want to know the average number of neighboring points each particle has within a radius. you can easily grab the get neighboring points node, but actually displaying the data on screen takes a few more steps. This node just has a Pass Through and a Set Data inside, with the connection exposed, so you can plug your Get Neighboring Points node into the Expose Value Hack into the ICETree. that'll let you display the values on-screen without changing anything that will affect the particles motion.

note: the in-port type is dynamic and will change to whichever type you plug into it. Quaternion, 3D Vector, Scalar, Color, etc.

craft
Posts: 107
Joined: 03 Jan 2010, 00:40
Location: Portugal
Contact:

Re: Joe Compound

Post by craft » 18 Jan 2010, 18:56

hmmm amasing, mate! I'm starting to learn ice now and your compounds are being very hepfull. thank you.
After a lot of brain-cell burning i managed to understand your bend deformer, and have been working on a version of it that will take a null to drive the bending in any direction. i'm not so proficient on this but if i can make it work, it'd rock to add it to your collection - after all, the base is yours ;)

Zarvosa
Posts: 13
Joined: 19 Aug 2009, 23:13
Location: Vancouver, Canada

Re: Joe Compound

Post by Zarvosa » 28 Feb 2010, 02:29

I sent an email back on the 23rd to uploads at this website.com, but I got bored of waiting for an answer or post, so I'm putting up a couple more nodes from my website. Then again, maybe there are virii inside! Obviously download at your own risk from an external source.

Y'know, having online space and a super-quick easy ftp program is really handy for all sorts of things. Whenever you want to share a random image with someone, you just upload it there. or if you want to hide the website you got aforementioned image from, you can place it there temporarily and delete it later. It's like less than a minute. print screen, save image, upload, send link.

but anyway, the descriptions are on the first post at the top.
Melt Geometry.xsicompound
Image

and
Emit Particle Tree.xsicompound
Image

User avatar
owei
Administrator
Posts: 840
Joined: 03 Jun 2009, 17:25
Location: Siegen/Germany
Contact:

Re: Joe Compound

Post by owei » 28 Feb 2010, 09:13

Hi Zarvosa..!

Sorry for that delay, but earning money is sometimes becomes very time consuming and that way time get´s a very rare good.
This site was meant as an invitation for participation. At least, hirazi and me are the only people left to admin and moderate this site. Most others spoke big words about joining, participation and generating content, but at least they did nothing. I feel a bit sad about that, but, that´s is the way it goes...

I´ll put your new compounds on the community server today.

best regards
oliver

User avatar
druitre
Posts: 471
Joined: 25 Jun 2009, 23:35

Re: Joe Compound

Post by druitre » 28 Feb 2010, 13:54

Thanks for your updates! I have a question - it's not totally related to your work, and in a way it is because I noticed it first after installing your initial pack - I have trouble finding the compounds back after installing them:

How do I organize my compounds? Since I like all of your stuff, I dragged the whole folder into my workgroup>compounds. I can see, when I browse through the 'nodes' menugroup in my ICEviewport, that they all appear scattered under different subdirectories. I can recognize them by the workgroup 'w' that goes before it.

But for instance, with Kristinka hair and SPH, I also get separate folders for each under the 'task' tab. I do get a JP_Tools directory with four compounds in it in the 'nodes' menugroup.
No idea how they got there, or why just these four and not all of your compounds, or how to put all of them there or how to rename that directory to 'Zarvosa's compounds' for instance, if I'd find that more clear.

In short: I have no idea how to organize compounds in such a way that I can actually find them when I need them, or see at a glance what I have got installed, or what to delete when there's an updated compound available.

It's analogous to the bookmarks in my internetbrowser... If I wouldn't be able to put them in userdefined folders I'd be lost pretty quickly, it's an evergrowing library of diverse items and I would be without a clue without a clear organizing system.

Hope this makes sense, and hope I have missed on something obvious... it seems obvious.

(moderator, please feel free to put it in a separate thread if this branches off too much... as you can guess I'm all for clean organizing :))

Post Reply

Who is online

Users browsing this forum: No registered users and 45 guests