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

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

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

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

from __future__ import annotations

import pyvista
from pyvista import examples

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

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

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

Tags: load

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

Sphinx-Galleryによるギャラリー