ตัวอย่างเหล่านี้แสดงให้เห็นถึงแนวคิดหลักบางประการในการเขียนตัวแปลง OpenUSD ตัวอย่างใช้ OpenUSD และ OpenUSD Exchange SDK (เอกสาร, GitHub) เพื่อสาธิตวิธีการเขียน USD ที่สอดคล้องกันและถูกต้อง:
Asset Validator
createStage
createCameras
createLights
createMaterials
createMesh
createReferences
createSkeleton
createTransforms
setDisplayNames
โปรเจ็กต์นี้ต้องใช้ "make" และ "g++"
เปิดเทอร์มินัล
หากต้องการรับประเภท "make" sudo apt install make
(Ubuntu/Debian) หรือ yum install make
(CentOS/RHEL)
สำหรับ "g++" ให้พิมพ์ sudo apt install g++
(Ubuntu/Debian) หรือ yum install gcc-c++
(CentOS/RHEL)
ใช้สคริปต์บิลด์ที่ให้มาเพื่อดาวน์โหลดการขึ้นต่อกันอื่นๆ ทั้งหมด (เช่น USD) สร้าง Makefiles และคอมไพล์โค้ด
./repo.sh สร้าง
ใช้สคริปต์ run.sh
(เช่น ./run.sh createStage
) เพื่อรันแต่ละโปรแกรมด้วยสภาพแวดล้อมที่กำหนดค่าไว้ล่วงหน้า
เคล็ดลับ: หากคุณต้องการจัดการสภาพแวดล้อมด้วยตัวเอง ให้เพิ่ม
<samplesRoot>/_build/linux64-x86_64/release
ลงในLD_LIBRARY_PATH
ของคุณ
สำหรับวิธีใช้อาร์กิวเมนต์บรรทัดคำสั่ง ให้ใช้ --help
./run.sh createStage --help
ใช้สคริปต์ python.sh
(เช่น ./python.sh source/createStage/createStage.py
) เพื่อรันแต่ละโปรแกรมด้วยสภาพแวดล้อมที่กำหนดค่าไว้ล่วงหน้า
สำหรับวิธีใช้อาร์กิวเมนต์บรรทัดคำสั่ง ให้ใช้ --help
./python.sh แหล่งที่มา/createStage/createStage.py --help
โปรเจ็กต์นี้ต้องใช้ Microsoft Visual Studio 2019 หรือใหม่กว่า ดาวน์โหลดและติดตั้ง Visual Studio ด้วย C++
ใช้สคริปต์บิลด์ที่ให้มาเพื่อดาวน์โหลดการขึ้นต่อกันทั้งหมด (เช่น USD) สร้างโปรเจ็กต์ และคอมไพล์โค้ด
.repo.bat สร้าง
ใช้สคริปต์ run.bat
(เช่น .run.bat createStage
) เพื่อรันแต่ละโปรแกรมด้วยสภาพแวดล้อมที่กำหนดค่าไว้ล่วงหน้า
สำหรับวิธีใช้อาร์กิวเมนต์บรรทัดคำสั่ง ให้ใช้ --help
.run.bat createStage --help
ใช้สคริปต์ python.bat
(เช่น .python.bat sourcecreateStagecreateStage.py
) เพื่อรันแต่ละโปรแกรมด้วยสภาพแวดล้อมที่กำหนดค่าไว้ล่วงหน้า
สำหรับวิธีใช้อาร์กิวเมนต์บรรทัดคำสั่ง ให้ใช้ --help
.python.bat sourcecreateStagecreateStage.py --help
หากต้องการสร้างภายใน VS IDE ให้เปิดโซลูชันที่พบในโฟลเดอร์ _compiler
ใน Visual Studio จากนั้นโค้ดตัวอย่าง C++ จะสามารถปรับแต่ง ดีบั๊ก สร้างใหม่ และอื่นๆ ได้จากที่นั่น
หมายเหตุ : หากผู้ใช้ติดตั้งตัวอย่าง OpenUSD Exchange ลงในโฟลเดอร์
%LOCALAPPDATA%
Visual Studio จะไม่ "สร้าง" อย่างถูกต้องเมื่อทำการเปลี่ยนแปลง เนื่องจากมีบางอย่างผิดปกติกับการรับการเปลี่ยนแปลงแหล่งที่มา ทำสิ่งใดสิ่งหนึ่งต่อไปนี้เพื่อแก้ไขปัญหา:
สร้างโปรเจ็กต์
Rebuild
โดยมีการเปลี่ยนแปลงทุกซอร์สแทนที่จะBuild
คัดลอกโฟลเดอร์ OpenUSD Exchange Samples ไปยังโฟลเดอร์อื่นภายนอก
%LOCALAPPDATA%
สร้างทางแยกไปยังโฟลเดอร์ภายนอก %LOCALAPPDATA% และเปิดโซลูชันจากที่นั่น:
mklink /JC:usd-exchange-samples %LOCALAPPDATA%cloned-reposusd-exchange-samples
พื้นที่เก็บข้อมูลตัวอย่างใช้ Repo Tools Framework ( repo_man
) เพื่อกำหนดค่าการขึ้นต่อกันของ premake, packman, build และรันไทม์ การทดสอบ การจัดรูปแบบ และเครื่องมืออื่นๆ Packman ถูกใช้เป็นตัวจัดการการพึ่งพาสำหรับแพ็คเกจเช่น OpenUSD, Omniverse Asset Validator, OpenUSD Exchange SDK และรายการอื่นๆ ตัวอย่างใช้เครื่องมือ repo_man, premake และ packman ของ OpenUSD Exchange SDK เป็นเทมเพลตสำหรับรวมและเชื่อมโยงกับ OpenUSD, OpenUSD Exchange SDK และการอ้างอิงอื่นๆ สิ่งเหล่านี้สามารถใช้เป็นตัวอย่างสำหรับการกำหนดค่าบิลด์และรันไทม์ที่แอปพลิเคชันของลูกค้าอาจต้องการ นี่คือรายการไฟล์ที่น่าสนใจ:
premake5.lua - ไฟล์คอนฟิกูเรชันบิลด์สำหรับตัวอย่าง
prebuild.toml - ใช้โดยเครื่องมือสร้าง repo เพื่อระบุตำแหน่งที่ควรคัดลอกการพึ่งพารันไทม์ (นอกเหนือจาก repo install_usdex
ที่ติดตั้งไว้แล้ว)
_build/target-deps/usd-exchange/release/dev/tools/premake/usdex_build.lua
- ไฟล์เทมเพลตการกำหนดค่าการสร้างพรีเมคของ OpenUSD Exchange SDK สำหรับการรวม USD, OpenUSD Exchange SDK เอง และไลบรารีอื่นๆ
ไฟล์นี้ไม่สามารถใช้ได้จนกว่าจะดึงข้อมูลการอ้างอิง
สำหรับรายละเอียดเกี่ยวกับการเลือกและติดตั้งเวอร์ชัน ฟีเจอร์ หรือเวอร์ชันของบิวด์ OpenUSD Exchange SDK โปรดดูเอกสารประกอบเครื่องมือ install_usdex
ดูเอกสารการเริ่มต้นใช้งาน OpenUSD Exchange SDK สำหรับคำแนะนำเกี่ยวกับวิธีการใช้ OpenUSD Exchange SDK และ OpenUSD ในแอปพลิเคชันของคุณ
ตัวอย่างที่ระบุไว้จะเน้นไปที่แนวคิดหลักเหล่านี้:
เปิดUSD
กล้อง USD
ชื่อที่แสดง USD
ไฟ USD
วัสดุ USD
ตาข่าย USD
ชื่อ USD Prim
USD พรีวาร์
ขั้นตอน USD
USD Xforms
ตัวอย่างมีจุดมุ่งหมายให้รันตามลำดับและจะสร้างระยะ USD ที่เดิมสร้างขึ้นในตัวอย่าง createStage
นอกจากนี้ยังสามารถรันได้อย่างอิสระและจะเปิดหรือสร้างระยะขึ้นอยู่กับว่ามีอยู่หรือไม่ หากต้องการรันตัวอย่างทั้งหมดตามลำดับด้วยคำสั่งเดียว ให้พิมพ์สิ่งนี้ในบรรทัดคำสั่งหลังการสร้าง:
Linux: ./repo.sh test -f testRunAll -e keep Windows: .repo.bat test -f testRunAll -e keep
สิ่งนี้จะแสดงตำแหน่งของสเตจที่สร้างด้วย C++ และ Python หลังจากที่ตัวอย่างทั้งหมดรันตามลำดับ
หากสคริปต์จากตัวอย่างล้มเหลวเนื่องจากปัญหาใบรับรองที่ลงนามด้วยตนเอง วิธีแก้ปัญหาที่เป็นไปได้คือให้ทำดังนี้
ติดตั้ง python-certifi-win32 ซึ่งอนุญาตให้ใช้ที่เก็บใบรับรอง windows สำหรับคำขอ TLS/SSL:
tools packman python.bat -m pip ติดตั้ง python-certifi-win32 --trusted-host pypi.org --trusted-host files.pythonhosted.org
ขั้นแรกให้ค้นหาปัญหา GitHub ที่มีอยู่และการสนทนา OpenUSD Exchange SDK เพื่อดูว่ามีใครรายงานสิ่งที่คล้ายกันหรือไม่
หากไม่มี ให้สร้างปัญหา GitHub หรือหัวข้อฟอรัมใหม่เพื่ออธิบายข้อบกพร่องหรือคำขอคุณลักษณะของคุณ
สำหรับข้อบกพร่อง โปรดระบุขั้นตอนที่ชัดเจนในการทำให้เกิดปัญหาซ้ำ รวมถึงตัวอย่างข้อมูลความล้มเหลวตามความจำเป็น
สำหรับฟีเจอร์ต่างๆ โปรดระบุเรื่องราวของผู้ใช้และรายละเอียดส่วนบุคคล (เช่น ฟีเจอร์นี้ช่วยเหลือใครได้บ้าง และมีประโยชน์อย่างไร)
ไม่ว่าจะเพิ่มรายละเอียดให้กับปัญหาที่มีอยู่หรือสร้างปัญหาใหม่ โปรดแจ้งให้เราทราบว่าบริษัทใดบ้างที่ได้รับผลกระทบ
ใบอนุญาตสำหรับตัวอย่างอยู่ใน LICENSE.md
ประกาศเกี่ยวกับใบอนุญาตของบุคคลที่สามสำหรับการขึ้นต่อกันที่ใช้โดยตัวอย่างจะอยู่ในประกาศใบอนุญาต OpenUSD Exchange SDK
เอกสาร OpenUSD - สร้างด่าน USD แรกของคุณ
เอกสาร OpenUSD API
เอกสารผู้ใช้ OpenUSD
ทรัพยากรและการเรียนรู้ของ NVIDIA OpenUSD
ตัวอย่างรหัส OpenUSD
เอกสาร NVIDIA OpenUSD
เอกสาร SDK แลกเปลี่ยน NVIDIA OpenUSD