Код: Выделить всё
from pxr import Usd, UsdGeom, Sdf
def extract_points_from_usd(file_path):
"""Extracts 3D points from a USD or USDA file."""
stage = Usd.Stage.Open(file_path)
points = []
for prim in stage.Traverse():
if prim.IsA(UsdGeom.Mesh):
usd_points = UsdGeom.Mesh(prim).GetPointsAttr().Get()
if usd_points:
points.extend(usd_points)
return np.array(points)
Мне это нужно чтобы создать файл облака точек (.las), в качестве альтернативы я мог бы преобразовать файл .usd в .ply и преобразовать его в облако точек, что гораздо проще, но я не могу найти способ сделать это преобразование на скрипте Python. Это для лямбда-функции aws, поэтому я не могу полагаться на такое программное обеспечение, как blender или cloudcompare.
Подробнее здесь: https://stackoverflow.com/questions/792 ... t-usd-file