writing-transforms

Write 4x4 transform matrices to USD prims using Python or C/C++.

201|25|Updated Dec 18, 2025
One-click install
npx skills add https://github.com/NVIDIA-Omniverse/ovrtx --skill writing-transforms
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: writing-transforms
Source: https://github.com/NVIDIA-Omniverse/ovrtx/tree/main/.agents/skills/writing-transforms
Command: npx skills add https://github.com/NVIDIA-Omniverse/ovrtx --skill writing-transforms

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Writing 4x4 transform matrices to move, rotate, or scale prims in a USD scene, enabling precise control over object placement and animation.

Core Features & Use Cases

  • Write 4x4 doubles using USD row-vector convention to define translations, rotations, and scales for single prims or batches.
  • Support both Python and C/C++ workflows, with guidance on the canonical attribute names (omni:xform) and storage layouts.
  • Use cases include moving objects, applying camera transforms, or driving per-frame animations in Ovrtx projects.

Quick Start

Run the example to write a 4x4 transform to a single prim using Python or C/C++, following the provided snippets in the skill.

Frequently Asked Questions about writing-transforms

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I apply a 4x4 transform matrix to a USD prim?

To apply a 4x4 transform matrix to a USD prim, write a float64 matrix using the USD row-vector convention and apply it to supported attributes like omni:xform to translate, rotate, or scale the object within the scene.

How do I batch update transforms across multiple USD prims?

You can batch update transforms across multiple USD prims by writing and applying 4x4 transform matrices via Python or C/C++ workflows, enabling efficient simultaneous movement, rotation, or scaling of objects in ovrtx projects.

What is the USD row-vector convention for writing transform matrices?

The USD row-vector convention dictates that 4x4 transform matrices must be written as float64 doubles with row-major vector layouts, ensuring accurate translation, rotation, and scale definitions when applied to USD prims.

Can I use C/C++ to write transforms for USD prims in ovrtx workflows?

Yes, you can use C/C++ alongside Python to write and apply 4x4 transform matrices to USD prims in ovrtx workflows, following provided guidance on canonical attribute names and storage layouts for precise object placement.

What are the limitations when applying transform matrices to USD prims?

Limitations include strict enforcement of the USD row-vector convention and float64 matrix requirements, meaning you must use supported attribute names like omni:xform to successfully execute one-shot or batch transform updates.