Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Python で 3D CG実験データ作るまで

582 views

Published on

実験の一環でBlenderのレンダラをPythonから操作して変形したARマーカをレンダリングするスクリプトをつくりました.

こちらのスライドはcorem-LTで利用したスライド資料です.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Python で 3D CG実験データ作るまで

  1. 1. Python で 3DCG実験データ作るまで taopipi
  2. 2. Pythonいいよね 科学系計算処理分野で大活躍! 機械学習もお手の物! 今日は3Dデータ作成について話すよ!
  3. 3. 3Dデータって? そもそもどんなことするのさ? 1. モデリング 2. マテリアル,テクスチャリング 3. ライティング,カメラワーク 4. レンダリング 以上の作業を経てできたデータです
  4. 4. 3Dデータって? Pythonでなにができるの? 1. モデリング →Python(生物的な形状にするなら,手作業だとおもう) 2. マテリアル,テクスチャリング →Python 3. ライティング,カメラワーク →Python 4. レンダリング →Python 基本全部できる. そうBlender上ならね!
  5. 5. Blender フリーの3DCGソフト.Python APIを公開してる.(発展途上) Blenderでできることは基本的にPythonで実装でできる. 僕の研究は,ARアプリケーションで立体表面形状のマーカ扱う 立体って現実世界だと,検証ムズい →CGの出番っしょ
  6. 6. 早速,変形したマーカをつくっていこう コードはこんな感じ こんなモデルができあがり
  7. 7. ざっと解説 bpy.data Blenderデータにアクセスするときに使う オブジェクト触りたい! bpy.data.objects[‘オブジェクト名’] シーン,カメラ,環境を触りたい! bpy.data.scenes 材質,反射率を変更したい! bpy.data.materials
  8. 8. ざっと解説 bpy.ops Blenderソフトでやる作業はopsを使う 例)新しいオブジェクトを追加する. bpy.ops.mesh.primitive_plane_add(location=(0,0,0),) ↑プリミティブな平面メッシュを追加する.位置は(0,0,0)で. 例2)レンダリングする. bpy.ops.render.render()
  9. 9. ざっくり解説 bpy.context Blenderソフトの各領域(ペイン)にアクセスする bpy.context.3dview 3Dモデリングするペイン bpy.context.scene.objects シーン内の オブジェクトのペイン
  10. 10. マテリアル(材質)つくる マテリアル,テクスチャ,モデルの関係 マテリアル テクスチャ 光の発散 反射光 鏡面反射 有効なマテリアル 画像 3D モデル
  11. 11. カメラとか光源設置してモデリングする カメラを半球表面上をサンプリング角づつずらして回転移動させている bpy.data.images[‘Render Result’].save_render()レンダ画像を保存
  12. 12. 完成!! いじょうです!!

×