Pages

Showing posts with label Autodesk. Show all posts
Showing posts with label Autodesk. Show all posts

Friday, January 8, 2021

Post 1: Create a USD asset with NXT

 USD Asset Creation

Post 1

Trying to create a USD asset can turn into quite the journey...


When building USD assets you need to keep a few things in mind:

1. ModelAPI

2. Payload, Reference, Sublayer

3. LIVERPS

4.Variants

5. Classes

6. usda, usdc, usd

7. Prims

and much more... read the glossary!


Each one of these points are there to help departments after the asset has been made to better interact with said asset.

Pixar's Create Asset Tutorial

If we take a look at Pixar's python example to Create an Asset, we can quickly see that a lot of what's going on in this script has nothing to do with an actual 3d asset(as in open up zbrush and sculpt mesh). 



 Where to find things related to an asset(payloads, references). What is it (component, assembly, mesh)? And general 3d environment info (axis=y, unit size).

So why use USD?

USD



 Well in short, the admin required to make assets would normally be handled by the artists/TDs/pipelineTDs on the fly(people intensive and boring) with many department specific tools. This can create a lot of headaches as it gets handed off to all the different departments and software along the line. USD knows what the pipeline needs and allows you to build it into your assets from the start. Now you end up with, not just the 3D geometry but also a Universal Description of what that means.... a "SMART Asset". That can be used in any software that support USD.

So why use NXT?

NXT



NXT's visual code style and ability to layer and instance nodes and graphs around suits USD very well. In my opinion NXT adds a needed level of management to USD that makes it more "user friendly" without the TD having to subscribe to any DCC's workflow/integration and drawbacks. It works more inline with USD's core idea of "Universal" and "Open".

All the below tutorial graphs can be found here: nxt_usd_graphs

USD core Library in NXT...

I have already started to make a core lib of USD nodes for NXT and we will be using a lot of them make our asset template.

USD NXT LIB


Note: I'm ignoring the variants for now. I Will do variants in an up coming blog post.


First Layer (Open/Create)

Here we will simply create the top level foo.usda stub file.

We will use three nodes:

findOrOpen, OpenStage and RootLayerSave nodes. They are all part of the usd_core(red)
layer in NXT.




We are going to create a new layer above the tools layer(pink) and instance these nodes into that layer like:


When you execute this layer(see NXT docs on how this works). You should end up with a USD that looks like this:


An "empty" usda. Please note that we will be doing all the tuts as usda so we can see what gets written into the usd files. For geo and large data sets usdc files are a much better file type.

If you are unsure of where to find your usda file check your USD_file attrubute:



Second Layer (Stage data)

Now lets create a second layer above our first layer and add in some basic stage data:


Set Stage Axis allows us the ability to tell any DCC what the up Axis for a give USD is.


By making the axis a attribute in NXT it can easily be updated or changed as we add layers.

Next we set the scene scale:


This is super helpful when going between different DCC's(software) like Maya and Houdini.

Now when we execute our NXT graph we should end up with a foo.usda that looks like this: 


Next post we will add the main prim data and a payload to that prim.

To be continued in Post 2 . . .


Thursday, December 3, 2020

Learning USD

For the last year I've been busy learning USD .  Here's a sneak peak at it, I will be posting more coming soon.....



Monday, January 22, 2018

Revolting Rhymes - Trailer


Hey all, 

One of the projects I worked on recently has released an awesome trailer.
I was Lead of Rigging, Fur/Hair and VFX on this one. Was a crazy fun, extreme time.




End

Sunday, January 8, 2017

Make group with custom name, Using Python


Alo all,

Today I will share with you another simple python code.

What does it do:
Creates an empty group in Autodesk Maya, then prompts you for a name for that group.

Here is what that code looks like:

group in maya with prompt
*Click to make bigger*

Here is what the prompt looks like in Autodesk Maya:


*Click to make bigger*

Place name in the prompt the press ok. And presto, a group with your chosen name appears.


*Click to make bigger*

Here is that script for downloading:


End :D/

Wednesday, December 21, 2016

Revolting Rhymes





Here a sneak peak at what I've been up to this year :D

Friday, December 4, 2015

Maya....



Rigging

.....after a six year sabbatical into Softimage.

So I'm crossing over to the dark side(Autodesk Maya) for my new project here at work. To be honest it hasn't been as hard as I imagined it would be... O_____O for now.

Just a screen grab of work in progress.

Rigging

Also applying my limited Python knowledge now. He he he 

Code things


I have found that Maya seems improved since I last used it(version 8.5 or some thing) but it still feels less "visually friendly" then Softimage.

Maybe its just cos I'm still sad about Soft going the way of the Dodo.

END

Wednesday, March 5, 2014

To Autodesk

To Autodesk.

What barren ruin you have placed upon my future: Let me explain...
You have taken away my Excalibur,
 broken my elder-wand,
You have stolen the spice from my desert dunes.
The fairy dust once shiny and full of wonder, now falls as dirt...
instead of magic flight, it weighs me down heavily.
You have robed me of my genie lamp
Taken with your greed! The rhyme from my poetry,
Indeed this poem deserves none, for you have removed 
my
ability.

Yours Sincerely,
Softimage user.