Comments (4)
Hi.
Thanks for report. Now this is expected behavior - materials are created exclusively for every object.
from blenderusdhydraaddon.
Why? This disallows serious work based on exported scenes.
from blenderusdhydraaddon.
Hello, initially we have separate USD prim with all materials. But we had significant reasons to change it to the way: object has its own material.
One of the reason is USD node tree where we have different nodes including Merge, Filter, Instancing, Root. Using separate global USD prim for materials produces problems of using such nodes.
from blenderusdhydraaddon.
Thanks for the answer, this definitely makes sense!
But I think that instancing is possible even without a root-level USD prim. I've crafted an example here:
#usda 1.0
(
defaultPrim = "Geom"
metersPerUnit = 1
upAxis = "Y"
)
def Scope "Geom"
{
def Xform "node1"
{
def Mesh "mesh"
{
def Material "someMaterial"
{
token outputs:surface.connect = </Geom/node1/mesh/someMaterial/node.outputs:surface>
def Shader "node"
{
uniform token info:id = "UsdPreviewSurface"
float3 inputs:diffuseColor = (1.0, 0.0, 0.0)
token outputs:surface
}
}
int[] faceVertexCounts = [3, 3]
int[] faceVertexIndices = [1, 0, 3, 1, 3, 2]
normal3f[] normals = [(0, 0, 1), (0, 0, 1), (0, 0, 1), (0, 0, 1)] (interpolation = "vertex")
point3f[] points = [(0.5, -0.5, 0), (-0.5, -0.5, 0), (-0.5, 0.5, 0), (0.5, 0.5, 0)]
uniform token subdivisionScheme = "none"
rel material:binding:preview = </Geom/node1/mesh/someMaterial>
}
}
def Xform "node2"
{
def Mesh "mesh"
{
over "someMaterial" (
references = </Geom/node1/mesh/someMaterial>
)
{
}
int[] faceVertexCounts = [3, 3]
int[] faceVertexIndices = [1, 0, 3, 1, 3, 2]
normal3f[] normals = [(0, 0, 1), (0, 0, 1), (0, 0, 1), (0, 0, 1)] (interpolation = "vertex")
point3f[] points = [(0.5, -0.5, 1), (-0.5, -0.5, 1), (-0.5, 0.5, 1), (0.5, 0.5, 1)]
uniform token subdivisionScheme = "none"
rel material:binding:preview = </Geom/node2/mesh/someMaterial>
}
}
}
EDIT: after tinkering with this a bit more I realized that true material instancing with the instanceable
metadatum, unlike the use of inheritance I outlined, does require a root level prim..
from blenderusdhydraaddon.
Related Issues (20)
- MaterialX nodegraph available HOT 5
- Cannot load materialx graph HOT 9
- Node-based edit workflow confusion HOT 1
- UnicodeDecodeError occurs in Material Preview
- blender curve object doesn't appear to be supported HOT 1
- MaterialX doesn't render in RenderMan HOT 1
- MaterialX importer: Shader inputs precedency HOT 2
- USD Export: unable to find suitable USD plugin to write <file_path_to.usda> HOT 1
- Writes empty geometry in edit mode HOT 1
- Uses cached version on import despite external changes in the model HOT 1
- Is this project still active? HOT 2
- DLL load failed while importing _tf
- Can't enable add-on in blender 3.5 ubuntu 22.04 HOT 6
- Can't activate on Linux Manjaro and Blender 3.5.0 HOT 1
- is this project still active?? HOT 6
- Mac Arm version
- USD+prman on windows failed to open
- Exporting to `mtlx` file & usd?
- Doesn't build on OpenSUSE HOT 2
- fatal: clone of '[email protected]:Radeon-Pro/RenderStudioKit.git' in Windows
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from blenderusdhydraaddon.