Jump to content

Fenolis

Members
  • Posts

    208
  • Joined

  • Last visited

  • Days Won

    3

Fenolis last won the day on June 27 2023

Fenolis had the most liked content!

1 Follower

About Fenolis

  • Birthday 09/10/1994

Personal Information

  • Name
    Jikian
  • Location
    Singapore

Recent Profile Visitors

4,228 profile views

Fenolis's Achievements

Apprentice

Apprentice (3/14)

  • Reacting Well Rare
  • Dedicated Rare
  • First Post Rare
  • Collaborator Rare
  • Week One Done

Recent Badges

47

Reputation

  1. Hi @golubevcg, please update the links in the original post - they don't seem to be working due to changed/broken links.
  2. Non-VEX approach: Use Ray set to Points, Minimum Distance to raycast your curve to the surface of the tube. You can merge the original curve with the raycast one, then Skin with Connectivity set to Columns. The length of each line can be computed using Measure and Attribute Promote and Transfer that value back to the points to get your distance. You can also get the average distance of all the points if you use Attribute Promote set to the Average Promotion Method, and the New Class set to Detail. VEX approach: Create a Point Wrangle, connect the curve to first input and tube to second input, then use the following snippet: vector hit = minpos(1, @P); f@dist = distance(hit, @P); For average distance, again you can use Attribute Promote (Average) to Detail.
  3. Since computers can't count to infinity in a memory-efficient way everything is a workaround.
  4. You can MMB on string parameter Labels to display the evaluated result of expressions and variable shorthand.
  5. Handling kerning was fun word_wrap_in_shape_v4.hiplc
  6. Doesn't preserve spaces, but maybe this can guide you in the right direction? word_wrap_in_shape.hiplc
  7. I'm not sure you need any Switch SOPs for this. You can use an expression in a single Object Merge's merge path to change which node's output is read. `strcat("/obj/subnet/NewLayer6_", padzero(4, $F))` Edit: I didn't read the asterisk points.. hmm.
  8. You can try using this technique to rotate vectors, though beware of gimbal lock if you increase the range by ~90degrees either way.
  9. Instead of Convert Line, you can use Carve, set First/Second U to the range 0-1, then select the Breakpoints folder and enable Cut At All Internal U Breakpoints. This method preserves vertex order.
  10. @GlennimusPrime The line you would want to modify is inputs.append(nodeInputs[i].type().name()) It pulls the type of the nodes, meaning the OTL definition. If you wanted the names as you see them in the Network Panel, modify it to: inputs.append(nodeInputs[i].name())
  11. Just use Group: Group (Primitives) by Normal, set to 0, -1, 0 with angle of <10 or so Append a Reverse SOP and reference the group's name.
  12. Create a Python SOP, paste the following code: nodeParm = hou.pwd().evalParm("spare_input0") node = hou.node(nodeParm) geo = hou.pwd().geometry() nodeInputs = node.inputs() geo.addAttrib(hou.attribType.Global, "inputs", [""]) inputs = [] for i in range(len(nodeInputs)): inputs.append(nodeInputs[i].type().name()) geo.setGlobalAttribValue("inputs", inputs) Add a Spare Input on the Python SOP and drag the node you want to query into the field. The Python SOP will generate a Detail attribute with a list of node types that are connected to the specified SOP.
  13. Please let me know if there's anything in particular I can do to boost SEO for odforce posts/replies
×
×
  • Create New...