Jump to content

Search the Community

Showing results for tags 'PythonFilter'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General
    • Lounge/General chat
    • Education
    • Jobs
    • Marketplace
  • Houdini
    • General Houdini Questions
    • Effects
    • Modeling
    • Animation & Rigging
    • Lighting & Rendering
    • Compositing
    • Games
    • Tools (HDA's etc.)
  • Coders Corner
    • HDK : Houdini Development Kit
    • Scripting
    • Shaders
  • Art and Challenges
    • Finished Work
    • Work in Progress
    • VFX Challenge
    • Effects Challenge Archive
  • Systems and Other Applications
    • Other 3d Packages
    • Operating Systems
    • Hardware
    • Pipeline
  • od|force
    • Feedback, Suggestions, Bugs

Product Groups

There are no results to display.

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Website URL





Found 1 result

  1. Hi guys, i'm new to the forum and Houdini, and i'm currently diving into Mantra (once again ). And what i would like to achieve is basically a global material override.(For AmbOcc for example) What i tried so far: 1: Adding a shop_materialpath attr. to the subnetwork that is the toplevel node of my structure and overriding it on a take. (Much like Vray Object Property Sets in Maya for example, whose attributes ripple down on all members of the sets).....but that doesnt work i guess 2: Override the shop_materialpath on each geometry node which works fine and is much less a hustle than it sounds at first. But it still needs tweaking, once i add a new object to the scene. 3:PythonFiltering: Which seems like the way to go for me! From what ive read so far, the Houdini scene translation is written in Python and properties like shader assignments can be altered during the process. So i read the documentation and did the following: -Changed the mantra commandline to: mantra -P pythToMyScript/script.py -In wrote the following script: def filterInstance(): print('Filtering: {0}'.format(mantra.property('object:name'))) mantra.setproperty('object:surface', '/obj/shop_net/constant_green_mt') mantra.setproperty('object:overridedetail', 1) print('Im just an a output to confirm i have been called!')[/CODE] -The script is actually called and i get the correct output in the console like so: [CODE]Filtering: ['/obj/enzo_geo_grp/glassRubberGrp/black_behind_window_thing3'] Im just an a output to confirm i have been called![/CODE] -But the last line states an error: [CODE] mantra: VEX error: Unable to load file /obj/shop_net/constant_green_mt.vex Rendering Finished[/CODE] -I added the declare_all_shops parameter to the mantra rop and set it to "Declare all shops" , also i checked on Force VEX Shader embedding -Both materials are just ordinary constant mtls. i dragged into my own SHOP network in /obj/shop_net/. Any ideas on what i am doing wrong here? Thx
  • Create New...