glTFファイルの取り扱いについて#

glTFファイルをPyVistaのプロッティングシーンに直接インポートできます. glTFフォーマットの詳細については, https://www.khronos.org/gltf/ を参照してください.

まず,サンプルをダウンロードします. なお,ここではハイダイナミックレンジのテクスチャを使用していますが,これはglTFファイルが一般的に物理ベースのレンダリングを含んでおり,VTK v9がハイダイナミックレンジのテクスチャをサポートしているためです.

import pyvista
from pyvista import examples

helmet_file = examples.gltf.download_damaged_helmet()
texture = examples.download_dikhololo_night()

プロッタを設定し,環境テクスチャを有効にします. これは,ダメージを受けたヘルメットの例のように,物理ベースのレンダリングが可能なメッシュに有効です.

pl = pyvista.Plotter()
pl.import_gltf(helmet_file)
pl.set_environment_texture(texture)
pl.camera.zoom(1.7)
pl.show()
load gltf

また,gltfファイルを直接読み込んで,基礎となるメッシュを抽出することもできます.

block = pyvista.read(helmet_file)
mesh = block[0][0][0]
mesh.plot(color='lightblue', show_edges=True, cpos='xy')
load gltf

Total running time of the script: (0 minutes 37.225 seconds)

Sphinx-Galleryによるギャラリー