Tuesday 29 April 2008

quick test

scale and color based on bounding boxes



Monday 28 April 2008

Final Composition

Visual Piece I did before, based upon a track from Deru. The zip containing the video can ben found here:

Friday 25 April 2008

deformations, fractals, sops and chops

I've been researching 3 different displacement ways. Displacement through glass, cloth and bricks. The last one gave me some results today.

Based on point transformation caused by images on a grid i was able to feed this into a chopnet and play around with the values it gave me. I wanted more control over how the geometry actually got displaced. For every primitive I have a point which I can use in a for loop to be stamped upon the actual geometry to be displaced. Already procedural.

Next week (network's down for the weekend) I'll be looking into the other two methods of deformation and shoot test videos for the actual geo to be displaced upon. Researching different color and depth methods (extracting z-depth out of video). Hopefully, by the end of next week, I'll have a proof of concept combining both techniques (displacement and lightrigs)





A higher resolution video can be found here: CLICK

Wednesday 23 April 2008

fractal based deformations

Now the lightrig is done it's time to move on to the deformations. Lot's to play around with. First tests done with touch 101 and houdini. Made a little fractal based video with touch and used that info to drive deformations with a standard pic function in houdini. It does give some nice organic shapes and the original structure get's washed away by the smootheness of the shape.






And the original:

Monday 21 April 2008

Moodtest

Based on my procedural lightrig (and particlesystem) I made this little test in Houdini and Shake. Lights in the end should go out and there was something wrong with the shadow pass. But the overall feeling is there. Synced to the music. Something to work from.



A higher resolution version can be found here: CLICK

Sunday 20 April 2008

Saturday 19 April 2008

Used Python Script

The Python script

##LOAD ENVIRONMENT

import hou,os,string,sys

##CREATE VARIABLE OUT OF PRIMITVE GROUPS
number_groups1 = hou.node("obj/fractured_object/nogroups").parm("nogroups").evalAsInt()

##CREATE LIGHT FOR EVERY GROUP AND SET PARAMETERS
for i in range(0, number_groups1):
tempvar = hou.node("/obj").createNode("hlight")
tempvar.parm("l_tx").setExpression("chop(\"../chopnet1/Out_Position/group_"+str(i)+":positionx\")")
tempvar.parm("l_ty").setExpression("chop(\"../chopnet1/Out_Position/group_"+str(i)+":positiony\")+0.5")
tempvar.parm("l_tz").setExpression("chop(\"../chopnet1/Out_Position/group_"+str(i)+":positionz\")")
tempvar.parm("light_intensity").setExpression("chop(\"../chopnet1/Out_Intens/group_"+str(i)+":impulse\")")
tempvar.moveToGoodPosition()

##CREATE POPNETWORK
geo = hou.node("/obj").createNode('geo')
popnet = geo.createNode('popnet')
emitter = popnet.createNode('location')
gravity = popnet.createNode('force')
collision = popnet.createNode('collision')
attribute = geo.createNode('attribcreate')
point = geo.createNode('point')
copy = geo.createNode('copy')
trail = geo.createNode('trail')
transform = geo.createNode('xform')
sphere = geo.createNode('sphere')

gravity.setFirstInput(emitter)
collision.setFirstInput(gravity)
attribute.setFirstInput(popnet)
point.setFirstInput(attribute)
transform.setFirstInput(sphere)
copy.setFirstInput(transform)
copy.setNextInput(point)
trail.setFirstInput(copy)

##SET POPNETWORK
trail.setDisplayFlag(True)
trail.setRenderFlag(True)
collision.setDisplayFlag(True)
collision.setRenderFlag(True)
collision.setTemplateFlag(False)

##DESTROY FILE NODE
hou.node('/obj/geo1/file1').destroy()

#SET PARAMETERS
gravity.parm('forcey').set('-5')
collision.parm('soppath').set('/obj/Grid/grid1')
attribute.parm('name').set('pscale')
attribute.parm('varname').set('pscale')
attribute.parm('value1').setExpression('fit(abs($VZ),0,1,0,0.5)')
transform.parm('scale').set('0.07')
emitter.parm('life').set('5')
emitter.parm('lifevar').set('2')

##DUPLICATE POPNETWORK FOR EVERY GROUP
for i in range(1, number_groups1):
hou.hscript('opcp /obj/geo1 /obj/geo+i')
LarsAwsomeVars = "geo"+str(i+1)
hou.node("obj/"+LarsAwsomeVars+"/popnet1/location1").parm("locx").setExpression("chop(\"../../../chopnet1/Out_Position/group_"+str(i+1)+":positionx\")")
hou.node("obj/"+LarsAwsomeVars+"/popnet1/location1").parm("locy").setExpression("chop(\"../../../chopnet1/Out_Position/group_"+str(i+1)+":positiony\")+0.5")
hou.node("obj/"+LarsAwsomeVars+"/popnet1/location1").parm("locz").setExpression("chop(\"../../../chopnet1/Out_Position/group_"+str(i+1)+":positionz\")")
hou.node("obj/"+LarsAwsomeVars+"/popnet1/location1").parm("constantactivate").setExpression("chop(\"../../../chopnet1/Out_Part/group_"+str(i+1)+":impulse\")")

##DELETE ORIGINAL POPNETWORK
hou.node('/obj/geo1').destroy()

Procedural Lightrig and Particle System done

Finished the Python script that generates particle systems and lights. It assigns them autmatically to the right DOP object and uses the processed channel data to make them do whatever they need to do (emit particles or light up). By generating a node for every shard you get a lot f individual control as well. Something that would not be possible using a copy sop or any other instancing method.




Wednesday 16 April 2008

Procedural Lightrig based on Impact

Few more tests, playblastst. Now with the ability to create any number of shards and automatically update the number of lights and link them to the desired piece of geo based on RBD's. Fully automatic, done with python, expressions and my big love Houdini!




Light Impact Tests

Two tests using DOP data to control light transformations, light intensity, particle emission, particle size and particle position. Custom attributes added to use velocity information icm with point sop.

Goal was to create light based on impact. So the light had to know where the RBD is and light up on impact. Particles added for some debree and sparks. Same principle.



MoodBoard







1st Post

Welcome,

This blog is created for posting WIP and visual experiments during the DEP.