Skip to content

Instantly share code, notes, and snippets.

@wkentaro
Created April 17, 2021 07:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wkentaro/c35618e4ab9996924067da4a49e7c14f to your computer and use it in GitHub Desktop.
Save wkentaro/c35618e4ab9996924067da4a49e7c14f to your computer and use it in GitHub Desktop.
import numpy as np
import open3d
import trimesh
def from_trimesh(trimesh_geometry):
if isinstance(trimesh_geometry, trimesh.Trimesh):
geometry = open3d.geometry.TriangleMesh()
geometry.vertices = open3d.utility.Vector3dVector(
trimesh_geometry.vertices
)
geometry.vertex_normals = open3d.utility.Vector3dVector(
trimesh_geometry.vertex_normals
)
geometry.triangles = open3d.utility.Vector3iVector(
trimesh_geometry.faces
)
geometry.textures = [
open3d.geometry.Image(
np.asarray(trimesh_geometry.visual.material.image)
)
]
geometry.triangle_uvs = open3d.utility.Vector2dVector(
trimesh_geometry.visual.uv
)
else:
raise ValueError
return geometry
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment