Archived post by flight404

i mightve found a sidefx forum with the answer. just took phrasing the search query just right

www.sidefx.com/forum/topic/50591/

good ol Slancik to the rescue: “`string rampname = “ramp”; int npt = chi(rampname); float ramppositions[]; for (int pt=1; pt<=npt;pt++) { float ramppos = chf(rampname + itoa(pt) + "pos" ); append(ramppositions, ramppos); } f[]@ramppositions = ramppositions;```

Archived post by JeffLMnT

“` How to deal with Iterations: Substeps – More expensive, but gives a better solve – especially for higher stiffness values Constraint Iterations – Increase for higher stiffness value to control excessive deformations – great for cheaper solver at high resolutions Smoothing Iterations –  smoothing ops, to smooth out errors of excessive deformations, or constraint errors Collision Iterations – Uses the Detangle sop – lower frequency iterations – complicated and time consuming – increase when collisions are fighting against constraints or other collisions However, its probably better to increase substeps and decrease constraint iterations for a more accurate solve – and to reduce load on the constraints – but is more expensive “`

Archived post by Bender

From @trzanko ray sop or prim uv’s don’t yield super great accuracy, as it only interpolates among a primitive’s points, to get a smooth position you can leverage the osd vex functions
here’s my subdiv ray snippet which illustrates this, you can see the diff between the osd pos and the primuv pos if you comment out the line which declares the variable sDP
“`int primNum; vector UV;
float dist = xyzdist( 1, @P, primNum, UV);
vector restN = primuv(1,”N”,primNum,UV); vector posOnRest = primuv(1,”P”,primNum,UV);
//subdiv float pU, pV; int pId; int patch = osd_lookuppatch( 1, primNum, UV.x, UV.y, pId, pU, pV);
//these two functions return the last argument //so posOnRest is being overwritten in the function, much like xyzdist() int sDN = osd_limitsurface( 1, ‘N’, pId, pU, pV, restN); int sDP = osd_limitsurface( 1, ‘P’, pId, pU, pV, posOnRest);
@P = posOnRest;“`

posting Tighe’s post for re-gemming

Archived post by Lorne

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

Archived post by chris_gardner

“`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