from pxr import Usd, Sdf, UsdGeom, Gf
#xform 정의
xform = UsdGeom.Xform.Define(self.stage, Sdf.Path("/World"))
#새로운 path 정의
test_path = xform.GetPath().AppendPath("Test")
#cube 정의
cube = UsdGeom.Cube.Define(self.stage, test_path)
#prim 가져오기
cube_prim = cube.GetPrim()
#path 이용 prim 가져오기
cube_prim = self.stage.GetPrimAtPath(test_path)
#cube xform 속선 정의
cube_xform = UsdGeom.Xformable(cube_prim)
# 기존의 TranslateOp가 있는지 확인하고 값만 설정 또는 새로 추가
translate_ops = [op for op in cube_xform.GetOrderedXformOps() if op.GetOpType() == UsdGeom.XformOp.TypeTranslate]
if translate_ops:
translate_ops[0].Set(Gf.Vec3d(0., 0., 0.))
else:
cube_xform.AddTranslateOp().Set(Gf.Vec3d(0., 0., 0.))
cube_xform.AddRotateXYZOp().Set(Gf.Vec3d(0., 0., 0.))
cube_xform.AddScaleOp().Set((Gf.Vec3d(1., 1., 1.)))
#prim 속성 수정
value = 10
cube_prim.GetAttribute("size").Set(value)
# show ans hide
UsdGeom.Imageable(cube_prim).GetVisibilityAttr().Set(UsdGeom.Tokens.inherited)
UsdGeom.Imageable(cube_prim).GetVisibilityAttr().Set(UsdGeom.Tokens.invisible)
카테고리 없음