scale and color based on bounding boxes
Tuesday, 29 April 2008
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)
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)
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.
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.
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.
Subscribe to:
Posts (Atom)