forums.odforce.net/topic/31435-smoke-solver-tips-and-tricks/
eat jay’s delicious brains there
i mean learn from jay there
forums.odforce.net/topic/31435-smoke-solver-tips-and-tricks/
eat jay’s delicious brains there
i mean learn from jay there
I can’t believe that all my years in Houdini I havent thought to just make a little pop solver to create decent drone camera moves
get a curve force in there, some wind, blend between a few lookat targets that have some drift on them as well
it’s pretty cinematic
disclaimer: this was like a 15min thing and I’m sure this is a mess
you could also set up an @v on the main follow curve and pipe that into the popcurveforce if you wanted regions where the camera speeds up/slows down
Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20191809/20/19/drone_cam_sim_v001.mp4
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20191809/20/19/drone_cam_sim_v001.hip
“`import tempfile import glob import os.path tempDir = tempfile.gettempdir()
files = filter(os.path.isfile, glob.glob(tempDir + “/crash.*.hip”)) if files: files.sort(key=lambda x: os.path.getmtime(x)) lastFile = os.path.join(tempDir, files[-1]).replace(‘\\’, ‘/’) hou.hipFile.load(file_name=str(lastFile), suppress_save_prompt=False)“`
load latest crash file
@CoskuTurhan you might want to check this if it gives you any ideas dailyhip.wordpress.com/2017/01/26/firefly-tree/
it does something similar
Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20192409/17/19/wiretree.jpg
it might not be the most efficient way, but iw as able to do it using l systems and a find shortest path – convert curveu to worldspace, apply parallel transport, and rewrap the wires using one of my weaving setups.
i basically made sure the l system was branching in only 2 directions each generation and just hand selected a group right after the first branch haha
Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20191109/17/19/MF_Branch_Wrap_v01.hip
jurajtomori.wordpress.com/2018/01/15/houdini-tip-faster-saving-of-scenes-on-network-drives/
Maybe something useful there @Sacha Wech
@Sepu swap $HIP to $JOB for all redshift textures
`def hipToJob(): for node in hou.node(“/”).allSubChildren(): if node.type().name()==”redshift::TextureSampler”: fileJob = node.parm(“tex0”).rawValue().replace(“$HIP”,”$JOB”) node.parm(“tex0”).set(fileJob)`
`// formula to change from one space to another // P = inverse(m1) * m2
// get the position and orient data vector start_p = point(0, “P”, 1); vector end_p = point(0, “P”, 2); vector4 start_orient = point(0, “orient”, 1); vector4 end_orient = point(0, “orient”, 2);
// calculate the blended values float blend = fit(@Frame, 1, 48, 0, 1); end_p = lerp(start_p, end_p, blend); end_orient = slerp(start_orient, end_orient, blend);
// matrix at start matrix3 start_m = qconvert(start_orient); vector start_n = set(start_m.zx, start_m.zy, start_m.zz); vector start_up = set(start_m.yx, start_m.yy, start_m.yz); matrix a = maketransform(start_n, start_up, start_p);
// matrix at end matrix3 end_m = qconvert(end_orient); vector end_n = set(end_m.zx, end_m.zy, end_m.zz); vector end_up = set(end_m.yx, end_m.yy, end_m.yz); matrix b = maketransform(end_n, end_up, end_p);
matrix final = invert(a) * b; pos = pos * final;`
There we go! Thanks so much! @TOADSTORM + @jake rice 😮 . Infinite fishies for me!
Need to handle scale, but I already have code for that.
In case you want to speed up the Point Deform SOP ( a lot ), you can disable the xformbyattrib1 node inside the hda. That is in charge of deforming custom attributes. Should really be disabled by default and there should be a checkbox to enable it on demand. We’re talking about ~x5 speed improvement. If you disable the ‘attribdelete1’ node as well, you’ll gain another ~10% in speed.