Jump to content

All Activity

This stream auto-updates     

  1. Past hour
  2. Open UV View (Uv Editor ) in Python

    Thanks you guy for the help , the second code work fine with me , thanks again .
  3. Today
  4. Just coming here a few years later to say thanks for this! It's surprisingly difficult to make generalized tools that generate new primitives and cleanly inherit attributes from the incoming primitives. Also-- I've never seen this structure before in VEX (ADDSETATTRIB). Much cleaner than what I'd been doing... Is there anywhere I can find documentation?
  5. Troubles with melting object

    your object is not fully enclosed, try appending PolyCap first
  6. I'm trying to work on a VDB SOP but I'm having problems compiling. I'm windows with Houdini 16.5 and I'm getting "unresolved externals". Along with the usual inclusions I have: #include <GU/GU_PrimVDB.h> #include <openvdb/openvdb.h> #include <openvdb/Grid.h> I'm compiling with cmake which looks like this cmake_minimum_required( VERSION 3.6 ) project( HDK_VolumeDeform ) list( APPEND CMAKE_PREFIX_PATH "$ENV{HFS}/toolkit/cmake" ) find_package( Houdini REQUIRED ) set( library_name SOP_VolumeDeform ) add_library( ${library_name} SHARED SOP_Volume_Deform.C SOP_Volume_Deform.h ) target_link_libraries( ${library_name} Houdini) SET(COMPILE_FLAGS "-TP -std=c++11 -DOPENVDB_3_ABI_COMPATIBLE") add_definitions(${COMPILE_FLAGS}) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMPILE_FLAGS}") target_include_directories( ${library_name} PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ) houdini_configure_target( ${library_name} ) Strangely enough, the program does compile if I don't try use iterators, though I'm sure there is a lot that would break it. I've also tried with Hcustom, but running with that yields the same problems. Does anyone have any suggestions? Thank you very much!
  7. Yesterday
  8. Lol, you did the hard work. Peace.
  9. Letter Rising from Sand/grains COLLISION issues

    Thank you so much for your reply! I believed that i figured out the issue! I had NO IDEA about the open CL stuff. Theres a ton to learn in this amazing program, and i look forward to creating more! Thanks again!
  10. Hey! Nevermind! I figured it out! Works like a charm now with an object level HDA! Thank you very much!
  11. Run script in Command Line tools with Python

    Sure, here's a hip. The code is all inside the pythonscript node. It's the following: import os.path as op import subprocess hython_path = op.join(hou.expandString("$HFS"), "bin", "hython") hrender_path = op.join(hou.expandString("$HFS"), "bin", "hrender.py") hip_path = hou.hipFile.path() subprocess.Popen([hython_path, hrender_path, "-e", "-d", "mantra1", hip_path]) As for importing hou, it's not very straight forward. Besides adding the path to the .py file to your current python path, you need to also add the $HFS/bin folder to your PATH variable in order to correctly import the custom houdini C libraries. As described here http://www.sidefx.com/docs/houdini/hom/commandline.html subprocess_hython_odf.hip
  12. Oh... or do i "copy" my level generator graph and split it up? -> Create 2 GEOs at Object level -> Copy the graph into both of them -> One creates geo, one create point cloud -> Select both GEOs (in Object level) and create a subnet/digital asset?
  13. Oh man... My Houdini knowledge obviously is pretty basic. Lemme see if i can sum that up... I use a SOP approach, yes. I made multiple SOP HDAs to create a "level generator" - split up by their purpose and from basic to advanced. My basic construction elements are pretty simple like: Floor generator Pillar generator Floorboard generator ... These are used be the 2 main geo generators: Room Generator (creates a room based on a curve) Wall Generator (creates walls that are not a closed curve - to split up the room) My final HDA is the "Level Generator". This SOP imports a CSV File that contains data how to build the room (curve points) PLUS where to spawn objects (blueprints in UE4) I attached a screenshot to show an overview of the multiple HDAs. I actually don't know how do do this in object level... Do i need to create 2 Nulls in my Level Generator - one with Geo and one with a pointcloud and "object-merge" them into object level? And create a new HDA over this? I need a couple of parameters from each HDA (like material, Cd, etc.) as well. Maybe I'm thinking in a totally wrong direction here?
  14. source flip fluid with velocity

    Atoms response is the simplest route, otherwise In your geo network run your geo into (1) a volume node and then into a volume vop to set up your vector direction and noise, then in a secondary tree run (2) your geo into a vdb from polygons with like 0.1 voxel size with a fog vdb, then scatter points in that vdb. Then drop down a attribute from volume, set it to vector and set its name to "vel" both the trees will plug into the attribute from volume, scatter goes into points to apply attribute and the volume vop into the volumes to use, then drop down a volume rasterizeattributes with attributes set to "vel" and into a Null. You can test what its doing by using the usual volume trail sop and use the same points and volume rasterize outputs to check your velocity field. Just as an NB point in your volume vop you have to bind export to "vel" with what ever noise etc your adding. in your DOP network you can either use a volume source or popadvect by volumes. Volume source: set initialize to source flip and point the sop path to the out vel null you made, also change field to match and source volume/target field names to vel. pop advect is pre set up with vel. This gives you the ability to add alot of control, and is how they went through in in the master class/ or top 10 new features for 17 if i remember correctly. Below is the same applied to a FLIP Tank and emission from a geo object as mentioned using this method.
  15. Your instance point cloud and your instanced geometry should be two separate pieces of geometry on import so that you do not have this issue. My best guess is you are using the SOP based method with copy to points node to instance? If so try the the object based method. The object based method is less prone to have these type of errors as the elements are separated into different contexts and represent what you will see in your third party DCC more logically 1 to 1. In your HDA do it at the object level with a subnet. Include a geometry node that contains your point cloud data that is non-renderable i.e. shut off the display, and object merge that into a instance object. Then use the instance attribute to point to the different geometry nodes you want to import. This is a bit more production friendly as it is easier to automate the import of these object level instances, and also set each set of attributes independently.
  16. Actually there is one problem... I have vertex-attribute normals on the generated geometry, so the shading looks the way i want. For instances, the normals need to be point-attributes. Obviously i can't have both - if i remove the vertex-attributes, the instance rotation works, if i keep both, everything twists weirdly... Is it possible to have both - vertex and point normals?
  17. Cool. Glad you solved it.
  18. Oh - seems like i found something. Had an orient attribute on some other geometry (wall) that seems to mess up everything. If i remove that I get rotation on the blueprints
  19. Hey! Thanks for the reply! Doesn't seem to work either - set up to 0/1/0 and the normal according the direction. The blueprints don't rotate...
  20. Just use up and normal. Not all program have conversions for the varied attributes.
  21. Hi everyone! I made an HDA that generates a level. Got a couple of blueprints in Unreal I need to spawn. This works fine when I use the unreal_instance as point-attribute with the spawn-points. Since I want to rotate the blueprints instances as well, i added a rot point-attribute (also tested with orient) to the points - but this doesn't seem to carry over. Works fine inside Houdini when I test it with proxy geo (e.g. boxes) Every instance of the blueprint Unreal though has the same rotation. Am I doing something wrong here? best, Ron
  22. Troubles with melting object

    Hi! The newbie is here with a silly question) I'm trying to melt this arm with "melt object" but something goes wrong. Instead of object form filled with dots I only get few in random place. I tried melting it on default pig head and cube and everything was fine. Is something wrong with this obj?
  23. Run script in Command Line tools with Python

    For the first case, I need to import hou module in standalone Python. This is not working: import sys sys.path.append('C:/Program Files/Side Effects Software/Houdini 17.0.459/houdini/python2.7libs') import hou For the second, can you, please, provide examples of arguments (path_to_hython, path_to_hrender, hrender_args)? Mine is not working... import subprocess cmdTools = '"C:/Program Files/Side Effects Software/Houdini 17.0.459/bin/hcmd.exe"' batch = 'hscript P:/RENDER/render.cmd' subprocess.call([cmdTools, batch])

    *cough*English please
  25. Run script in Command Line tools with Python

    If you want to render the files sequentially, you can do the same you did in that .cmd, but in python. Something like hou.hipFile.load(file1) rop = hou.node(path_to_rop) rop.render(args) hou.hipFile.load(file2) rop = hou.node(path_to_rop) rop.render(args) ... If you want to to spawn new processes to render your files, you can call hrender using subprocess subprocess.Popen([path_to_hython, path_to_hrender, hrender_args]) And, of course, you can write a specific custom python script to suit any other needs
  26. Run script in Command Line tools with Python

    Thanks, will check them! I did not think about rendering multiple hip files from that perspective, went with first what comes to my mind.
  27. Run script in Command Line tools with Python

    Is there a reason you're not rendering using python directly? You can check inside $HFS/bin/hrender.py or render.py for some examples. If your usage is simple, those scripts would be enough for you to use directly
  28. I have a render.cmd file with a list of hip files to render: mread P:/PROJECTS/NSI/PROD/3D/scenes/RENDER/000/SHOT_010/RND_E000_S010_001.hiplc render -f 1 2 -V /out/RENDER mread P:/PROJECTS/NSI/PROD/3D/scenes/RENDER/000/SHOT_020/RND_E000_S020_001.hiplc render -f 1 2 -V /out/RENDER If I open hcmd.exe and run: hscript render.cmd I get all my shots rendered. The issue is that I can't get it working with Python, currently able only run Command Line Tools import subprocess cmdTools = '"C:/Program Files/Side Effects Software/Houdini 17.0.459/bin/hcmd.exe"' subprocess.call(cmdTools) but have no idea how to execute <hscript render.cmd> later...
  1. Load more activity