chris-gardner / usd-noodle Goto Github PK
View Code? Open in Web Editor NEWPretty node graph showing dependencies of a USD file
License: MIT License
Pretty node graph showing dependencies of a USD file
License: MIT License
akatz - I'm still of the opinion that one node = one file on disk. But any supplementary info could be viewed on the node or in the side panel like we chatted about before
qt scale factor?
also, in houdini - hou.ui.globalScaleFactor()
Hey there,
Updated to usd 21.11 recently and now it seems the resolver no longer works:
RuntimeError: Cannot find file: test.usda ------------DependencyWalker------------ Loading usd file: /test.usda Traceback (most recent call last): File "\usd_noodle\1.0.0\usd_noodle\app.py", line 992, in manualOpen self.load_file() File "usd_noodle\1.0.0\usd_noodle\app.py", line 835, in load_file x = DependencyWalker(self.usdfile) File "\1.0.0\usd_noodle\app.py", line 54, in __init__ self.resolver.ConfigureResolverForAsset(usdfile) AttributeError: 'Resolver' object has no attribute 'ConfigureResolverForAsset'
Do you think this can be fixed?
ties in with the pythonpanel biz, but select a node in lops, see a graph.
katz code:
import os.path
import sys
sys.path.append('H:\Documents\USD\USD Noodle\usd-noodle\\')
import usd_noodle
reload(usd_noodle)
lopNode = hou.selectedNodes()[0]
parent = lopNode.parent()
write_path = ("{}-{}.usdc").format(tempfile.NamedTemporaryFile().name, lopNode)
write_path = write_path.replace('\\', '/')
print(write_path)
usd_export = parent.createNode('usd_rop')
newPos = lopNode.position()
newPos[1] -= 1
usd_export.setPosition(newPos)
usd_export.setInput(0, lopNode)
outputFile = usd_export.parm('lopoutput')
outputFile.set(write_path)
usd_export.parm('execute').pressButton()
usd_export.destroy()
usd_noodle.main(write_path)```
they show as a topology connection now, since that's how USD reports them
high res
for installation by the pips
we wanna be able to dock it
akatz wants one
handy to paste into an email or suchnot
I think we lost the color coding when files are missing. The attached usd file has an input file that doesn't exist on disk. RED ALERT!
i only wanna see payloads! i only wanna see sublayers!
A node that shows stitch clips assets connected. This could be one node that some text designation of frame range (ex. 1-50)
A side panel that could show things like location on disk, intrinsic transform, things like that. Probably doesn't need to have any per-point attributes like color or position
Julien B - Also, would there be a way to "collapse" the node graph, specially for bigger scenes
Hey Chris, super neat project!
I tried opening HumanFemale.usd in Pixar's UsdSkel example data and got this error:
------------DependencyWalker------------
Loading usd file: C:/Users/Justin/Downloads/UsdSkelExamples/UsdSkelExamples/HumanFemale/HumanFemale.usd
C:/Users/Justin/Downloads/UsdSkelExamples/UsdSkelExamples/HumanFemale/HumanFemale.usd
Traceback (most recent call last):
File "C:\Users\Justin\PycharmProjects\usd-noodle\usd_noodle\app.py", line 858, in manualOpen
self.load_file()
File "C:\Users\Justin\PycharmProjects\usd-noodle\usd_noodle\app.py", line 735, in load_file
x.start()
File "C:\Users\Justin\PycharmProjects\usd-noodle\usd_noodle\app.py", line 84, in start
self.walkStageLayers(layer_path)
File "C:\Users\Justin\PycharmProjects\usd-noodle\usd_noodle\app.py", line 372, in walkStageLayers
self.walkStageLayers(reference, level=level + 1)
File "C:\Users\Justin\PycharmProjects\usd-noodle\usd_noodle\app.py", line 378, in walkStageLayers
self.walkStageLayers(payload, level=level + 1)
File "C:\Users\Justin\PycharmProjects\usd-noodle\usd_noodle\app.py", line 263, in walkStageLayers
info['current_variant'] = varprim.variantSelections[varset.name]
KeyError: "'rigComplexity'"
I think some of the prims in the HumanFemale example data don't define variant selections, but usd-noodle looks for one and borks out when it can't find a selection for the given variant set name.
from Sue @ sunrise productions
to be able to see how many times a payload/sublayer is being brought in(see attached image). Doesn't need to actually do whole trees for them just have a display either on the node or in the info box on the side letting me know that for example, the bolt.usd payload is being used 3 times in this house usd.
ala houdini. ctrl + number to set, number to retrieve
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.