PixarAnimationStudios / OpenUSD

Universal Scene Description
http://www.openusd.org
Other
6k stars 1.18k forks source link

how to build the new Schema? #2427

Open chongxian opened 1 year ago

chongxian commented 1 year ago

hello,I am a beginner in USD, I learn the tutorials to craete new schema,I try to do this. I can use the usdGenSchema to generate files, but I don't know how to build these files. I go to the folder(G:\USD\USD-23.02\extras\usd\examples\usdSchemaExamples) and create a build folder. I use the "cmake .." command to build these files, but Cmake report the error that Unknown CMake command "pxr_plugin". I wish you could give me some Pointers on how to compile the custom schema for USD. thanks for your help.

spiffmon commented 1 year ago

Hi @chongxian , yes the CMakefile needs to be configured a little differently when building against an established USD installation. I don’t have the proper changes at my fingertips (maybe others do?), but we will use this Issue as an opportunity to enhance the example and possibly create an independent doc/tutorial about how to build your own USD plugin.

tallytalwar commented 1 year ago

Filed as internal issue #USD-8313

msf567 commented 2 months ago

Any followup on this? I am running into the same issue

atharvavaidya14 commented 1 month ago

Is there any update regarding this? @spiffmon @tallytalwar

msf567 commented 1 month ago

I got this working by installing USD with a version of python (3.12.4), and keeping that python version consistent throughout my machine, and verifying that there was no other version of python installed on my machine at all, that could unintentionally be used. I also verified that my env variables were properly set, namely the PYTHON_PATH one for USD. Whichever variables the installer tells you to set when the installation finishes.

I also use NVIDIA's schema modules for building the schema, which you can find here under the "templates\cmake" folder. I link to those in my cmake and that will give you a definition for pxr plugin.

I believe you have to go through the build process in the readme to get the templates folder?

https://github.com/NVIDIA-Omniverse/usd-plugin-samples

Yea, it looks like the templates folder is in the repo_usd folder that gets created by packman in the installation process of the above repo