Welcome to od|forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.


  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by ikoon

  1. Btw I would also go step by step what Matt Estela has written here, he explains magnificently, everything from the dropdown menu http://www.tokeru.com/cgwiki/index.php?title=Houdini As regards the tutorials ... after some time, month, half a year, I have watched them second time, and then again, four times or maybe more When watching away from PC, I have been pausing and forcing myself to "predict" what is he going to do. When watching with PC, I was like ... few minutes of watching ... then trying to reconstruct from memory (which is harder then follow 1:1)
  2. Do you use any other SW for 3D? I was using c4d. To learn Houdini I had to migrate fully. I am still learning H, but I had to forgot those "blackbox" c4d principles. And repeat and repeat and repeat the new Houdini principles. Btw for me, it is very important to be fast in the GUI, not to be slowed down by thinking about the GUI. my customized keyboard: http://bit.ly/2rSZhTU i have printed the wacom hotkeys to learn them: http://bit.ly/2sd3OQv
  3. I like the new "Layout All" system, hotkey L. Inside the SOP it behaves logically, 99% times I can rely on automatic layout. Now I am trying to make system in organizing my /obj level. I am almost satisfied, but it behaves inconsistent: - when working with the file: children with "newer wire" jump to the right - after save quit reopen: other sort logic is used, probably node "Created" date and time? Does anybody know, how this system works, please? Probably SESI could unify it? Could I write small python script and hack/set "Created" time alphabeticaly?
  4. Some time has passed, I have answered my questions above. I am also slowly rebuilding the HDA in vex, also to accept @attributes in the inputs, instead of just numbers. Please, I am still struggling with the ramp interface. There is a ramp inside HDA (on one VOP) and I promote that ramp to the HDA interface. It often happens (when unlocking), that the points on the ramp mismatch paths, new points have relative path ch("../../linear1/values_ramp4pos") instead of simple ch("../values_ramp4pos"). linear1 is the implicit name of the hda, similarly to box1... Please, do you have any bulletproof practice to promote ramps?
  5. I just made my first HDA I have also used custom Handle and Guide Geometry to easily animate and preview. I hope you will like it, but also you may experience some difficulties using it, as I am still newbie. My questions: The Ramp - adding new ramppoints and renaming the node itself is tricky ... please, how do you bind VOP to HDA? - problem is, that new points have relative path ch("../../linear1/values_ramp4value") instead of simple ch("../values_ramp4pos") HDAs: - please, is it good practice to save all my HDAs here? C:\Users\..user..\Documents\houdini16.0\otls // yes it is - I should add parameters only in the "Type Properties", right? Not in the "Edit Parameter Interface" // yes - is it good practice to have some string parameter "Output Attribute Name" and then use "Set Attribute VOP"? // yes, I am also experimenting with chs("") and then vex include with backticks VOPs: - is it better to use Get Attribute or the Import Point Attribute? Both work well. More here http://bit.ly/2s2TGLO - inside an IF block, I output values to Cd to preview them ... and even when the IF should be skipped, Cd gets default values // that is probably ok and inevitable, there is some slight performance loss, I will experiment with chs() and include linear.hdalc
  6. "String / Number" input type for Wrangle Parameter Interface. I mean chf/chs hybrid: - you could write small expression "@P.z + @emission + 15" and have it included in the compiled vex - you could enter just a number, it behaves like "chf", with a slider (also "includes" the number in the compiled vex) I am hacking this with chs and backticks `` now.
  7. As regards the .clip, Rob from Derivative helped me here: https://www.derivative.ca/Forum/viewtopic.php?f=4&t=7959&p=39829#p39829
  8. Please, did anybody succeed to record multitouch [x,y] coordinates? For example on tablet with fingers? And then transfer the recording to Houdini as arrays, or chop channels? I am using my wacom and keyboard to record CHOPs and drive abstract effects to the music. I would so much like to move my skills forward. Any tip is highly appreciated. I was searching and did not find any tips, but this is close, for example Ableton and this: http://www.touch-able.com/xy-pad
  9. Please, I would like to reference external file with few arrays. The only way I have succeeded is this: Inside the Attribute Wrangle I have this: #include "$HIP/file.h" f[]@array = getdata(); Inside the file.h, I have this: float [] getdata() { float data[] = {1,2,3,4,5}; return data; } Am I doing it right? Or can I directly define constants without the function in the external file? I could also define those arrays inside the .hiplc, without external include, in one place like this, but the external file helps me manage the data: f[]@array = detail("op:/obj/DATA/data","array"); As regards speed in Houdini ... I could do tests ... but if anybody knows, please tell me ... is any of these methods preferred? The include should be faster, as it gets "hard" compiled just once in the first frame, right?
  10. Oh yes, thank you very very much, it works! As regards the speed, it should be "flawless", am I right? It includes and compiles just once, on the first frame? Btw I have been looking to the $HH previously and found that method to define array by function, in the skycubedaylight_coeff.h, probably it has some other reason. This #define is really great.
  11. Hi, see the attachments. Construction plane is off by default now. I have set F as Home selected for myself, too.
  12. Everything works fine, except one thing. When I unset Display or Render flag (in sops), it doesn't jump back to its last position. Houdini has some intrinsic logic, sometimes the unset flag "jumps" to the top node upstream, sometimes to the bottom downstream. Please, I would like to save the last Display Flag's position and when unset, make it go there. Do I have to use Python? Or is it somewhere in Preferences? I searched but found nothing. EDIT: BTW, if anyone is interested, I have got optimized my hotkeys nicely. They are global (except textport), so you dont have to hover over Network view: Everything in reach of one hand: insert = display pgup = up node pgdn = dn node ctrl+insert = display and render ctrl+del = bypass (on/off), can run on multiple nodes selected ctrl+shift+insert = template (on/off) ctrl+shift+del = clean all templates (in the viewport) ctrl+pgup/pgdn = left/right node multiple inputs
  13. Please, I would like to add few hotkeys to speed up my workflow. For example, is it possible to add these? - Set the Render flag (actually it is not possible to set the flag with mouse hovering over the Parameters pane or over the Scene Viewport pane) - Toggle Display Points in the viewport Should I write any custom Python tool and then set hotkey to it? Is there any log of recently executed actions by the user, which will help me to replicate those actions in my script? I am Python newbie so please excuse my noob questions.
  14. My newbie knowledge: - If rendering with Redshift, with Deadline you can set the GPU affinity (one frame : one gpu). It is faster then (one frame : multi gpu). With Redshift 4 GPUs are just 3.5x single GPU performance. https://www.redshift3d.com/forums/viewthread/12149/ - Probably you may benefit from running multiple instances of Houdini on one machine, if your network is single threaded. You can distribute ROPs with Deadline. You may run out or RAM, so this is probably just for some special cases. Also, It would be great to split OpenCL calculations like this. Houdini uses only one gpu. But I have investigated and the Deadline is not able to distribute OpenCL. Please somebody correct me if I am wrong.
  15. Everything works fine, except one small issue. Importing .chan works fine but it doesn't contain recorded channel names from TD to H. .clip contains channel names but importing .clip into Houdini gives me "Invalid token" error I have tried to investigate and there are small differencies in .clip as Houdini and Touchdesigner creates them. Please, can anybody help? Houdini: { rate = 24 start = 0 tracklength = 240 tracks = 1 { name = chan1 data = 0 0.25881904363632202 0.5 0.70710676908493042 0.86602538824081421 Touchdesigner: { rate = 60 start = 0 tracklength = 600 tracks = 1 { name = accxyz1 data_rle = -0.00669861 @2 -0.00994873 0.000991821 @2
  16. Thank you very very much for directing me, I am digging into it. - is TouchOSC good for this purpose? ----- TouchOSC is fine, Lemur is more advanced, has scripting - isn't TD 099 Educational version limited to make this happen, technically? ----- Educational is fine - 099 beta is ok? or stay with 088? ----- 099 is ok - here is a walkthrough ----- https://matthewragan.com/2013/06/15/vizualizing-osc-data-touchdesigner-2 Other tips and any experience are highly appreciated. So it seems, that I am on the TD train now too. I have seen talks about TD here, and few people from TD community here on the forum. So I am sharing my simple Houdini scene, I finished it yesterday. Everything is almost 100% realtime, without any cache. You may like some VEX I did there. For example quite fast custom VEX POP tracer. I am looking forward to TD&Houdini multitouches. strokes - v8.hiplc records.bclip
  17. Did you resolve this? I may try to investigate, if you send the scene file (or that part).
  18. @petz thank you for your script, helped me a lot. Please why is there 1.f in your code? I have never seen it: angle_max = 1.f;
  19. @Pazuzu that ad-hoc field sounds amazing. I dont want to waste your precious time, but I would like to understand these kind of ad-hoc relationships. Could you please direct me to some url? I will study.
  20. Btw as you have mentioned "smooth", this VEX function came to my mind: http://www.sidefx.com/docs/houdini/vex/functions/smooth As it says: - smooth (easin and easeout) interpolation is computed - If a rolloff is specified, the inflection point of the blend will be shifted. Once I wanted just ease-in (no ease-out), Python has it (http://www.sidefx.com/docs/houdini/hom/hou/ease) but VEX probably doesn't. I have quite solved it with VEX and that biased rolloff.
  21. Hello, please, did you manage to automate the distribution of OpenCL calculations to all your GPUs? I also have 4 gpus in one computer now. Is there any management system, which could help me distribute this HOUDINI _OCL_DEVICENUMBER and run more instances of Houdini simultaneously, each calculating distributed slice on one computer? I am into buying ThinkBox Deadline, as it can distribute GPU render (1 frame : 1 gpu) in one computer, but it can't manage this OpenCL 1:1, as far as I have searched.
  22. Hello, I am also trying to optimize my workflow. I am still newbie, so maybe I am in a detour or deadend but I hope some of my tips will anyways help the others. Other tips and tricks are highly welcome. I am not using OUT_ but I use this naming: QQOUT_description Why QQ prefix? - because I use the filter in the operator list (see the attachment) - classic OUT or even OUT_ filter gives you many nonrelevant results, and the list is cluttered then - capital QQ to have them on the top of the operator list, even without filtering - QQ string (as far as I tested) isn't used in any SOP or DOP (for example "XX" collides with maxx in "attrib randomize", "grain source" and many other ... and I dont want irrelevant SOPs to clutter result in my searches) - Q is close to fingers, I did not find any better solution - I have attached a file with all SOPs and DOPs, you can test other filters (hundreds of them, maybe not all, as I have dragged them manually from Tool Palette) Other QQ prefixes: QQANI_ - animated nodes, which have keyframes or other time dependent expressions QQPRE_ - my "preview quality" nodes, or "low quality" nodes (for example Resample SOP, voxel size settings etc) which help me to temporarily speed up the work and I should not forget to turn them back high in final render QQOUT_ - classic OUT nulls, dedicated to be referenced from somewhere QQREN_ - nodes which I want to render (finals or some client previews of partial animatic setups etc) QQMEM_ - file caches, or caches QQLIT_ - lights QQCAM_ - cameras (btw I have shortcuts for Next Camera and Cam Restore ... you may have two cameras, final/work and you can quickly swap detail/final with one hotkey) QQMAT_ - assign materials Now, use in Network view pane / Operator tree (Shift-W) - lets you filter those QQ - drag drop references easily into inputs - lets you drag drop materials too - you may also quickly filter QQANI and finetune animations, QQMEM and resim files etc Parameters pane - I have it in the middle of the desktop, because I have wacom tablet and Parameters on the right side of the monitor didnt let me use the input ladders correctly - I know this is sometimes inconvenient, but I did not figure better solution Other tips - you can rename nodes with hotkey in H16 - simple Python scripts can help you automate this (hotkey to create already prenamed, wired NULL with the right colour) - I dont have such scripts yet, but once I have, I will share - also I would like script to add QQANI animated channels into Animation Editor channel groups, which is not that difficult I guess (there is hotkey to add channel group from selected node) sops dops.hiplc
  23. Somehow I have managed to make Python script to Toggle Display Points Markers in the viewport. I am using it for a while (I have assigned Alt-Shift-W hotkey) and it seems ok, so maybe somebody may find it useful too: Here is the relevant docs url: http://www.sidefx.com/docs/houdini/hom/hou/GeometryViewportDisplaySet # Get a reference to the geometry viewer pane = hou.ui.curDesktop().paneTabOfType(hou.paneTabType.SceneViewer) # Get the display settings settings = pane.curViewport().settings() # Get the GeometryViewportDisplaySet for objects markersDisplayModel = settings.displaySet(hou.displaySetType.DisplayModel) markersSceneObject = settings.displaySet(hou.displaySetType.SceneObject) # Toggle the markers (visible when inside /obj/...) markersDisplayModel.showPointMarkers(not markersDisplayModel.isShowingPointMarkers()) # Unify with the scene (visible when in top level "/obj") markersSceneObject.showPointMarkers(markersDisplayModel.isShowingPointMarkers())
  24. Dot node can survive Y scissoring. The dot is persistent, if you click on the dot again with Alt. EDIT: btw you can also color the dot.
  25. Thank you very very very much! Martin this is exactly what I wanted. Also it helps me to develop more on my own, thank you guys!