3次元
本ページは、3次元コンピュータグラフィックス(3DCG)の制作技術と応用を体系的に学習するための教材を提供している。
- Blender:モデリング、アニメーション、マテリアル設定、Pythonスクリプト連携
- ゲームエンジン:Unreal Engine 5、Panda3Dによる3Dゲーム開発
- 3次元データ処理:点群データ、ボリュームデータ、MeshLab活用
- 3次元地図:GeoTIFF、高さマップ処理、Cesium、blender-OSM連携
- VR・AR開発:A-Frameによる没入型コンテンツ制作
WindowsおよびUbuntu環境でのインストール手順と操作方法を示し、実践的な技術習得を支援する。
公開資料は クリエイティブコモンズ 表示-非営利-継承 4.0 国際ライセンス(CC BY-NC-SA 4.0) で提供しており,事前の許可なく自由に利用できます.条件は著作者表示(BY),非営利目的のみ(NC),同一ライセンスでの再配布(SA)です.
1. Blender
1.(1) Blender 4 の基本操作と設定
目次:Blender 4
スライド資料
説明動画
Blender の設定,画面構成,基本操作
- Blender の基本操作(立体の新規作成と配置の調整,立体の操作,カメラ視野(カメラビュー)の調整,レンダリング,マテリアル,元に戻す,やり直す)
Blenderの基本操作である立体の新規作成、配置、カメラ視野の調整、レンダリング、マテリアル設定などの手順を詳しく解説する。
- Blender の種々の操作と設定
3Dビューポートでの視点操作や編集モードの切り替え、軸固定、メッシュ細分化のほか、各種初期設定の手順を学ぶ。
- Blender のメニュー等の日本語化
インターフェースやツールチップの表示を英語から日本語に切り替えるため、プリファレンスでの言語設定手順を解説する。
1.(2) Blender 4 のモデリングとオブジェクト操作
- Blender で,オブジェクトを配置
球や円柱などの基本図形を配置し、移動・回転・拡大縮小を行う操作や、グローバル座標・ローカル座標の違いを学習する。
- Blender で,ブーリアン演算により,立体を加工
モディファイアーのブーリアン演算を用いて、直方体や円柱などの立体同士の差分による穴あけや、共通部分の抽出を行う。
1.(3) Blender 4 のマテリアル・テクスチャ・シェーダー
- Blender でのマテリアル (material),スムースシェード (smooth shade)
立体のベースカラー、粗さ、メタリック等のマテリアル設定や、滑らかな表面にするスムースシェード、透明化の手順を学ぶ。
- Blender の PBR Materials アセット
PBR Materialsアセットを活用し、ルック開発モードで金属や非金属などのリアルな質感を立体に設定する手順を解説する。
- Blender の画像テクスチャ,テクスチャ座標系
立体の表面に画像テクスチャを貼り付け、UV編集ワークスペースを用いてテクスチャの座標系やマッピング方法を確認する。
- Blender のシェーダー・エディタ(Shader Editor)
シェーダーエディタを用いたノード編集により、テクスチャ座標や表面の粗さ、バンプマップによる凹凸表現を設定する。
- Blender で,テクスチャ・ペインティング (Texture Painting) を行う
テクスチャペイントモードで立体に直接画像をペイントし、写真を元にしたテクスチャの作成や編集を行う手順を学ぶ。
1.(4) Blender 4 のライトとレンダリング
- Blender のライト
ポイント、サン、スポット、エリアの4種類のライトの配置や設定方法と、レンダリングエンジンごとの光の表現の違いを学ぶ。
- Blender で,レンダリングを行う
EeveeやCyclesを用いたカメラ視野設定、反射やデノイズの調整を行い、高品質な画像をレンダリングする手順を解説する。
1.(5) Blender 4 のシミュレーション・アニメーション
クロス・物理シミュレーション
- Blender で,クロス・シミュレーション(Cloth Simulation)を行う
メッシュの細分化やセルフコリジョン、サブディビジョンサーフェスを用いて、布の自然な変形を物理シミュレーションで表現する。
- Blender で剛体(rigit body) の落下、衝突のシミュレーション
物理演算を用いたリジッドボディ(剛体)設定により、アクティブとパッシブな物体間の落下や衝突シミュレーションを作成する。
アニメーション表現
- Blender でパーティクルアニメーション
パーティクルの数や寿命、出力速度を設定し、コリジョンを用いた衝突や跳ね返りのアニメーションを作成する。
- blender のボーンとアーマチャを用いたアニメーション
アーマチャ(骨格)とボーンの追加、親子関係の設定、自動ウェイトやIKを利用したキャラクターアニメーションの基礎を学ぶ。
- Blender での動きの振り付けとアニメーション作成
複数ボーンの一括制御やスケールによる誇張表現、回転補間で生じる逆回転問題の解決法など、動きの振り付けとアニメ作成を学ぶ。
1.(6) Blender と MakeHuman による人体アニメーション
- 逆力学(MakeHuman 1.2, Blender を使用)(Windows 上)
MakeHumanで作成した骨格付き人体モデルをBlenderにインポートし、MHXリグを用いてIK(逆運動学)動作を確認する。
- MakeHuman 1.2 のインストールと機能,Blender との連携(人体アニメーション)(Windows 上)
MakeHumanの導入から、Blender連携用のMHX2アドオンの設定、人体モデルの作成と出力までの手順を解説する。
- MakeHuman と Blender 2.8 で人体アニメーション
MakeWalkプラグインを使用し、人体モデルにBVH形式のモーションデータを適用してアニメーション化とレンダリングを行う。
- cgspeed の BVHplay を使ってみる
モーションキャプチャデータであるBVHファイルの入手方法と、それを表示・再生するためのBVHplayの導入・操作を解説する。
1.(7) Blender のファイルのインポート,エクスポート
- Blender で Wavefront OBJ 形式,STL 形式ファイルのインポート,エクスポート
Wavefront OBJ形式やSTL形式の3DモデルデータをBlenderでインポートおよびエクスポートする手順を学ぶ。
- Blender で FBX 形式ファイルのエクスポート
業界標準の3DフォーマットであるFBX形式について、テクスチャファイルのパス設定を含めたエクスポートの手順を解説する。
1.(8) Blender の Python スクリプトとライブラリ
- Blender で Python スクリプトを実行
Blender内でPythonスクリプトを実行し、モデリングや各種操作を自動化するための基本的な使い方を解説する。
- Blender 内蔵の Python で Pythonのライブラリのインストール
Blender内蔵のPython環境に対して、pipやaptコマンドを利用して外部のPythonライブラリをインストールする手順を解説。
- Blender のPython に GDAL をインストール
BlenderのPython環境に地理空間データ処理ライブラリであるGDALをインストールし、利用可能にする手順を解説する。
1.(9) Blender のアドオンと関連ソフトウェア
AI ツール
- Blender アドオン「Video Depth AI」のガイド
動画から深度マップを抽出し、3Dディスプレイスメントアニメーションを生成できるアドオン「Video Depth AI」の導入と使い方。
3D Gaussian Splatting
- KIRI Engine 3DGS Render 3.0 インストール・利用ガイド
3D Gaussian Splatting(3DGS)形式のPLYデータをBlenderでインポートし、レンダリングするためのアドオン導入手順を解説。
OpenStreetMap・GIS 連携アドオン
- blender-osm を使ってみる
OpenStreetMapのデータをBlenderにインポートし、3Dの街並みや地形を構築できるblender-osmアドオンの使い方を学ぶ。
- Blender のアドオン BlenderGIS のインストール
地理情報や標高データをBlenderに取り込み、実際の地形に基づいた3D環境を構築できるBlenderGISアドオンの導入手順を解説。
- Blender のアドオン,シティ・ジェネレーターをインストーし,使ってみる(Windows 上) [ワードファイル]
VR/XR 関連ソフトウェア
- BlenderVR システムを使ってみる
Blenderで作成した3D空間をVRデバイスで閲覧するためのBlenderVRシステムの導入および基本的な使い方を解説する。
- BlenderXR のインストール
VRやAR環境でBlenderのシーンを直接確認・操作できるBlenderXRアドオンのインストールと初期設定の手順を学ぶ。
1.(10) Physically Based Rendering(PBR)と外部レンダリング
- Blender の PBR Materials アセットのインストールと動作確認
物理ベースレンダリング(PBR)に対応したマテリアルアセットをBlenderにインストールし、リアルな質感を適用して動作確認を行う。
- Wavefront Material形式ファイルにおけるマテリアルの例 [PDF], [パワーポイント]
- Physically Based Rendering のインストール(GitHub の mmp/pbrt-v4 を使用)(Windows 上)
オープンソースの物理ベースレンダリングシステムであるpbrt-v4をインストールし、高度なレンダリングを行うための設定手順を解説する。
- smoke2cyclesのインストールと動作確認
Blenderの流体シミュレーションによる煙のデータをCyclesレンダラーで描画するためのsmoke2cyclesの導入と動作確認を行う。
1.(11) Blender 3.0 アニメーション入門(動画による説明)
目次:Blender 3.0 アニメーション入門(動画による説明)
- Blender 3.0 のキーフレームアニメーション [PDF], [パワーポイント]
ドクセルの URL: https://www.docswell.com/s/6674398749/KELDQ5-2021-12-27-210037
- Blender 3.0 の液体のアニメーション [PDF], [パワーポイント]
ドクセルの URL: https://www.docswell.com/s/6674398749/KV63E5-2021-12-28-143452
1.(12) Blender 2.79(旧バージョン)
目次: Blender 2.79
Blender 2.79
- Blender 2.79 の設定例
Blenderの旧バージョン2.79におけるインターフェースや操作環境の基本的な設定例を解説する。
- Blender 2.79 の画面構成と基本操作
旧バージョンであるBlender 2.79の画面構成や、視点変更、オブジェクト選択などの基本操作を学ぶ。
- Blender 2.79 のライト,マテリアル(Blender の旧バージョン 2.79 の記事)
Blender 2.79におけるライトの配置や、オブジェクトの質感を変えるマテリアルの設定手順を解説する。
- Blender 2.79 で剛体(rigit body) の落下、衝突のシミュレーション(Blender の旧バージョン 2.79 用の資料)
Blender 2.79の物理演算機能を用い、剛体(リジッドボディ)の落下や衝突をシミュレーションする手順を解説する。
- Blender 2.79 でパーティクルアニメーションを行ってみる(Blender の旧バージョン 2.79 用の資料)
Blender 2.79のパーティクルシステムを利用し、粒子の発生や動きを制御するアニメーションの作成方法を学ぶ。
- オブジェクトの変形で使う Blender 2.79 の機能の例
オブジェクトの変形処理を中心に、Blender 2.79で頻繁に利用されるモデリング機能の具体例を解説する。
Blender 2.79 ゲームエンジン
- Blender 2.79 ゲームエンジン
Blender 2.79に搭載されていたBlender Game Engine(BGE)の概要と、ゲーム作成の基本概念を解説する。
- Blender 2.79 ゲームエンジンのロジックエディタを使ってみる
Blender 2.79のロジックエディタを使用し、ノードの組み合わせでゲームの動作をプログラミングする手順を学ぶ。
- Blender 2.79 ゲームエンジンで剛体シミュレーション
Blender Game Engineを利用して、リアルタイムで剛体の物理シミュレーションを実行・確認する方法を解説する。
- Blender 2.79 ゲームエンジンでマウスクリックやマウスオーバーによるオブジェクトの表示・非表示の変化
マウスクリックやマウスオーバー等の操作に応じて、オブジェクトの表示・非表示を切り替えるBGEのロジック構築を学ぶ。
動画による説明
- Windows で Blender のインストール (3分4秒, 説明音声つき) [mp4 版], [パワーポイント], [PDF]
- Blender 2.7 の主な機能概要 (3分53秒, 説明音声つき) [mp4 版], [パワーポイント], [PDF]
- Blender の種々の操作と設定 (3分53秒, 説明音声つき) [mp4 版], [パワーポイント], [PDF]
- Blender のマテリアル (4分6秒, 説明音声つき) [mp4 版], [パワーポイント], [PDF]
- Blender の作業視野とカメラ視野 (3分20秒, 説明音声つき) [mp4 版], [パワーポイント], [PDF]
- Make Human のインストールと Blender 関係プラグインの組み込み (9分12秒, 説明音声つき) [mp4 版], [パワーポイント], [PDF]
- Blender でパーティクルアニメーション (2分42秒, 説明音声つき) [mp4 版], [パワーポイント], [PDF]
- Blender でパーティクルアニメーションの設定 (4分24秒, 説明音声つき) [mp4 版], [パワーポイント], [PDF]
- Blender での剛体シミュレーションの再生 (2分40秒, 説明音声つき) [mp4 版], [パワーポイント], [PDF]
- Blender での剛体シミュレーションの作成 (2分42秒, 説明音声つき) [mp4 版], [パワーポイント], [PDF]
2. ゲームエンジン
2.(1) ゲームエンジンの概要
目次:ゲームエンジン
- ゲームエンジン [PDF], [パワーポイント]
【概要】 ゲームエンジンはゲーム開発のためのフレームワークであり,多くは,3Dオブジェクト(メッシュ,カメラ,光源)と物理シミュレーションの機能を持つ.3次元オブジェクトはメッシュ,カメラ,光源などから構成され,色やx,y,z座標などの属性を持ち,3次元空間内に配置される.物理シミュレーションは衝突検出,力と運動,摩擦と反発などの物理現象を計算によって再現し,オブジェクトの動きや状態を現実世界に近い形で表現する.イベントハンドラはキーボードやマウスなどの入力イベントに対する処理である.
- Cocos2d ゲームエンジン [PDF], [パワーポイント]
【概要】 Cocos2dゲームエンジンは,ディレクターによるゲーム全体の管理,シーンによる表現,複数のレイヤによる画面構成,アクションによるオブジェクト属性の動的な変化軒のjを持つ.これらの要素を組み合わせることで,ゲーム開発を行う.
- Panda3D ゲームエンジン:視覚効果・物理演算・アニメーション・シーン管理の実装ガイド
【概要】 Panda3Dゲームエンジンの特徴的な機能として,視覚効果,衝突検出,ボーンアニメーション,シーン繊維などがある.視覚効果のうちパーティクルシステムは,多数の小さな粒子による視覚効果を実現し,炎などの表現を可能にする.衝突検出では,バウンディング形状による粗い判定と詳細な形状での精密な判定という段階的な処理が行われる.ボーンアニメーションは,骨格構造でキャラクタの動きを揚言する.シーン遷移はゲーム内の場面切り替えを制御し,現在シーンのクリーンアップ,新シーンの初期化などを管理する.
- Blender 2.79 ゲームエンジン (2分54秒, 説明音声つき) [mp4 版], [パワーポイント]
2.(2) 3 次元ゲームエンジン Unreal Engine 5
目次:3 次元ゲームエンジン Unreal Engine 5
2.(3) Unreal Engine 入門
【概要】 Unreal Engineは高度な3次元ゲームエンジンで,C++とビジュアルプログラミングのブループリントで開発できる.ブループリントはコードなしでノード接続によりゲームロジックを構築する.アクターはゲーム内の基本オブジェクトで,簡単に操作できる.物理シミュレーションにより,重力や衝突などのリアルな挙動を実現できる.
- ue-1. Unreal Engine 5 のインストールと基本機能 [PDF], [パワーポイント], [HTML]
Unreal Engine 5のインストール手順から、プロジェクトの作成、エディタの基本操作などの初期設定について解説する。
YouTube 動画: https://www.youtube.com/watch?v=GHThpAbfteA
ドクセルの URL: https://www.docswell.com/s/6674398749/KYEV95-2021-12-11-222325
- ue-2. Unreal Engine 5を用いたC++プロジェクト作成ガイド [PDF], [パワーポイント], [HTML]
C++を用いたUnreal Engine 5のプロジェクトを新規作成し、ソースコードを利用してゲームを開発するための基本手順を学ぶ。
ドクセルの URL: https://www.docswell.com/s/6674398749/ZNJ9G5-2021-12-11-222617
- ue-3. ブループリント・プロジェクトの新規作成 [PDF], [パワーポイント], [HTML]
プログラミングを行わずにノードベースでロジックを組むブループリント・プロジェクトの新規作成手順を解説する。
YouTube 動画: https://www.youtube.com/watch?v=KM0DYyZiydk
ドクセルの URL: https://www.docswell.com/s/6674398749/K67EL5-2021-12-11-222710
- ue-4. アクタの配置(移動,回転,拡大縮小)と複製 [PDF], [パワーポイント], [HTML]
ゲーム内の基本要素であるアクタをレベル上に配置し、移動・回転・拡大縮小や複製を行うエディタの基本操作を学ぶ。
ドクセルの URL: https://www.docswell.com/s/6674398749/KV6M25-2021-12-11-222811
- ue-5. Unreal Engine 5におけるレベルブループリントの基本操作 [PDF], [パワーポイント], [HTML]
特定のレベル(マップ)専用のロジックを構築するための、レベルブループリントを開き、基本的なノードを配置する操作を解説。
ドクセルの URL: https://www.docswell.com/s/6674398749/K123E5-2021-12-11-222858
- ue-6. アクターの追加,物理シミュレーション [PDF], [パワーポイント], [HTML]
レベルにアクターを追加し、重力や衝突といったリアルな動きを与える物理シミュレーション(Simulate Physics)の設定を学ぶ。
ドクセルの URL: https://www.docswell.com/s/6674398749/ZGG24Z-2021-12-11-222951
- ue-7. Unreal Engine 5で Simple HMD プラグインを用いた VR サイドバイサイド表示 [PDF], [パワーポイント], [HTML]
Simple HMDプラグインを有効化し、Unreal Engine 5の画面をVRデバイス向けのサイドバイサイド表示にする手順を解説する。
ドクセルの URL: https://www.docswell.com/s/6674398749/ZXW6X5-2021-12-12-213233
- ue-8. Unreal Engine の中間まとめ [PDF], [パワーポイント], [HTML]
ここまでの学習内容を振り返り、Unreal Engineの基本概念であるアクター、ブループリント、物理演算の知識を中間まとめとして復習する。
ドクセルの URL: https://www.docswell.com/s/6674398749/ZP4G15-2021-12-12-211106
- ue-9. Unreal Engine 5 におけるアセットの活用 [PDF], [パワーポイント], [HTML]
外部から3Dモデルやマテリアルなどのアセットをインポートし、Unreal Engine 5のプロジェクト内で効果的に活用する手順を学ぶ。
ドクセルの URL: https://www.docswell.com/s/6674398749/ZQM2R5-2021-12-13-143110
- ue-10. Unreal Engine 5におけるサードパーソンゲーム開発と物理相互作用の基礎 [PDF], [パワーポイント], [HTML]
サードパーソン(三人称視点)テンプレートを用いたゲーム開発の基礎と、キャラクターとオブジェクト間の物理的な相互作用を学ぶ。
ドクセルの URL: https://www.docswell.com/s/6674398749/57ENGK-2021-12-13-145445
- ue-11. キーボードイベントとテレポート機能を活用した3Dオブジェクト操作の基本 [PDF], [パワーポイント], [HTML]
キーボードの入力イベントを取得し、対象の3Dオブジェクトをテレポート(瞬間移動)させる基本的な操作ロジックの実装手順を解説する。
ドクセルの URL: https://www.docswell.com/s/6674398749/ZMLQ65-2021-12-13-160909
2.(4) 3 次元ゲームエンジン Panda3D
3. 3次元データ(点群・ボリューム・メッシュ)
3.(1) 3次元データ
- 3次元点群処理の例(Open3D ライブラリ)
Open3Dライブラリを用いて、点群データの読み込み、ダウンサンプリング、外れ値除去、法線推定、メッシュ変換、セグメンテーション等を行う8パターンの実装例を解説。
- TUM-Facade・Semantic3D:点群データセットの概要とダウンロード用Pythonコード
建物ファサード(TUM-Facade)や屋外環境(Semantic3D)などの大規模な点群データセットの概要と、Pythonを用いた自動ダウンロード手順を解説する。
- 3次元ボリュームデータ
3次元ボクセルデータ(人体CTスキャン等)を用い、Pythonでのデータ取得から断層表示、等値面抽出(Marching Cubes)、平滑化等の可視化処理までを解説。
- 3次元ボリュームデータ[PDF], [パワーポイント]
- 3次元ボリュームデータの処理 [PDF], [パワーポイント]
3.(2) 3次元点群データ,MeshLab
- Python から libpcl を使う(GitHub の davidcaron/pclpy, Python を使用)(Ubuntu 上)
点群処理ライブラリPCLのPythonバインディングであるdavidcaron/pclpyをUbuntu環境でビルドおよびインストールし、動作確認を行う手順を解説。
- Windows で strawlab/MultiCamSelfCam を使ってみる
複数カメラのキャリブレーションを行うstrawlab/MultiCamSelfCalをWindows環境にインストールし、OctaveやPythonラッパーから実行する手順を学ぶ。
- MeshLab でのメッシュの表示モード
MeshLabにWavefront OBJ形式のメッシュデータを読み込み、ワイヤーフレーム、フラット、スムージングなど様々な表示モードで閲覧する手順を解説。
- MeshLab で3次元点群データの表示, 3次元点群データをメッシュデータに変換
3次元点群データをMeshLabに読み込み、Ball Pivotingアルゴリズムを用いて点群からポリゴンメッシュに変換(表面再構成)する手順を学ぶ。
- 3次元点群データを Python で表示
4. 3次元地図
4.(1) 3次元地図の作成(Blenderと高さマップ)
Blender と3次元地図
- Blender に標高,建物などのデータをインポート(Blender GIS を使用)
BlenderGISアドオンを使用し、Google Satelliteの航空写真やOpenTopographyの標高データ、OSMの建物データをBlenderにインポートして3D地図を作成する手順。
- BlenderGIS を用いて Blender に GeoTIFF 形式の高さマップ (height map) をインポート
BlenderGISを用いて、位置情報付きのGeoTIFF形式の高さマップ(標高データ)をBlenderにインポートし、地形ポリゴンとして立体的に表示・強調する手順。
GeoTIFF 形式ファイルなどの高さマップ (height map) をポリゴン化
- 高さマップ (height map) とは [PDF], [パワーポイント]
- terrain.party から高さマップ(height map)の png ファイルをダウンロード, [PDF], [ワード]
- 国土地理院標高タイルの数値データのダウンロードと画像表示, [PDF], [ワード]
国土地理院が提供する標高タイルの仕組みを解説し、指定したタイル座標の標高データをダウンロードしてPythonで画像や3Dグラフとして可視化する手順を学ぶ。
GeoTIFF ファイルの処理
- コマンドで GeoTIFF ファイルを扱う
GeoTIFF 情報の取得, 投影座標系への投影, GeoTIFF ファイルの拡大, GeoTIFF から png へ変換,png から GeoTIFF へ変換, EPSG コードを用いた座標系の変換
- GeoTIFF ファイルを 16 ビットpng ファイルに変換
OSGeo4WのGDAL(gdal_translate)を使用し、GeoTIFF形式の画像をスケールやデータ型を指定して16ビットのPNGファイルに変換する手順を解説する。
- Python で GeoTIFF を使ってみる
PythonのGDALライブラリを使用し、GeoTIFFファイルの読み込みや画素値の確認、座標参照系(EPSG)を変換して緯度・経度を取得する方法を解説する。
高さマップデータのダウンロード,GeoTIFF への変換
- 国土数値情報 土地利用細分メッシュ ラスタ変換ツール RASTERTOOL の紹介
エコリス社の「土地利用細分メッシュラスタ変換ツール RASTERTOOL」を導入し、国土数値情報の土地利用メッシュデータをGeoTIFFに変換する手順。
- terrain.party から高さマップ (height map) をダウンロード, GeoTIFF に変換
terrain.partyから指定範囲の高さマップ(png形式)をダウンロードし、GDALを用いてGeoTIFF形式に変換する手順を学ぶ。
- 基盤地図情報標高DEMデータ変換ツール DEMTOOL の紹介,基盤地図情報・数値標高モデルのデータを GeoTIFF に変換
エコリス社のDEMTOOLを導入し、国土地理院の基盤地図情報サイトからダウンロードした数値標高モデル(XMLファイル)を結合してGeoTIFFに変換する手順。
高さマップデータのインポート
- Unreal Engine 4 で高さマップ (height map) をインポート
Unreal Engine 4のエディタ上で、作成またはダウンロードした高さマップ(height map)データをインポートし、地形として適用・確認する手順。
- Python の pypng パッケージのインストール手順
純粋なPython実装のPNGライブラリ「pypng」をインストールし、画像の新規作成や読み込み、16ビットPNGの処理などを行う基本的な使用例を解説する。
4.(2) 3次元地図システム(Cesium など)
- 資料(3次元地図データベース序論) [PDF], [パワーポイント]
- Cesium を使ってみる
JavaScriptライブラリ「Cesium」をローカル環境に導入し、ブラウザ上で3D地球儀や航空写真、地形の起伏、OpenStreetMapを表示・操作する手順。
- NICTA/cesium-simple-photogrammetry を使ってみる
NICTA/cesium-simple-photogrammetryを利用し、3次元オブジェクトファイルをCesiumの地図上に簡単に取り込んで表示する手順を解説。
- Cesium の機能
Cesiumのチュートリアルを参考に、Terrain Tilesetを用いた地形の起伏表示や、光と水面(波)の視覚効果を有効にするHTMLとJavaScriptの実装を学ぶ。
- Cesium + Firefox の VR モード
workingDog/webvrtestを用いて、FirefoxブラウザのWebVR機能によりCesiumの3D地図をVRデバイス向けのモードで表示する手順を解説する。
- 3次元地図のソフトウェア Cesium を Python から使う
PythonからCesiumを操作できるライブラリ「cesiumpy」をインストールし、Jupyter Notebook上で3D地図をインタラクティブに表示・操作する手順。
- 地理院地図3Dを眺めてみる
国土地理院が提供する「地理院地図3D」サービスを利用し、任意の場所の地形をブラウザで3D表示し、さらにSTLファイルとしてダウンロードして確認する手順。
- オンラインサービスの F4map を使って 3次元地図を見てみる, YouTube 動画: https://www.youtube.com/watch?v=BxWbOwYPRXI
OpenStreetMapのデータを3D表示するオンライン地図サービス「F4map」の機能(天候・時間帯の視覚的再現やカメラ操作)と、指定場所の表示方法を紹介する。
- オンラインサービスの OSMBuilding を使って 3次元地図を見てみる
OSM Buildingsサーバーを用いて、OpenStreetMapの建物データをブラウザ上で3D表示するオンラインサービスの使い方と、地図タイルの仕組みを解説する。
4.(3) Blenderとblender-OSMを使用した3次元地図作成のガイド
- Blenderとblender-OSMを使用した3次元地図作成のガイド [HTML],[パワーポイント],[PDF]
Blenderとblender-OSMアドオンを連携させ、OpenStreetMapデータや標高データから都市モデルの3D地図を生成し、各種用途に活用するガイド。
5. 地図データ
5.(1) 地図データ
目次: 地図データ
オープンデータ
- 国土地理院基盤地図情報・数値標高モデルのダウンロード,CSV ファイルへの変換
国土地理院の基盤地図情報サイトから数値標高モデルをダウンロードし、CプログラムやRを用いてCSVファイルへの変換やプロットを行う手順。
- 国土交通省・位置参照情報ダウンロードサービスのデータ(Ubuntu を使用)
国土交通省の位置参照情報ダウンロードサービスから街区レベル・大字レベルのデータをダウンロードし、Ubuntu上のSQLite3データベースに投入する手順。
自作データ
- 福岡市バス停データ
- 九州大学伊都キャンパス巡回バス地図
九州大学伊都キャンパスの巡回バス路線図から手作りしたCSVデータ(ノード・ウェイ等)を、SQLite3データベースやRを用いてリレーショナルデータベースとして構築・処理する手順。
6. 3次元グラフィックスのツール(モデラーとレンダラー)
6.(1) モデラーとレンダラー
目次: 3次元グラフィックスのツール(モデラーとレンダラー)
- Shade 3D 社 Shade 18 Standard 体験版を使ってみる
Shade 3D 18 Standard体験版をインストールし、The Stanford 3D Scanning RepositoryのデータをBlender経由で読み込んで表示確認する手順。
- irrEdit でファイルのインポート,エクスポート
3次元モデラー「irrEdit」を使用し、Alias Wavefront Maya(.obj)やSTL(.stl)形式の3Dメッシュファイルをインポートおよびエクスポートする手順を学ぶ。
- Maya を用いた人体アニメーション
3DCGソフトMayaを用いて、シーンの読み込み、スケルトンのインポートとモデルへのバインド、モーションの編集、カメラ設定とアニメーションレンダリングを行う手順。
- Maya を用いた 8 視差画像のレンダリング
MayaでX3D Maya Cameraを作成・設定し、立体視(3Dディスプレイ)向けの8視差画像シーケンスをバッチレンダリングする手順を解説する。
- AVI4D を用いた 8 視差画像からの立体視用画像の生成
AVI4D Creatorを使用し、レンダリングされた8方向からの視差画像シーケンスを読み込み、立体視用(X3Dディスプレイ等向け)の動画ファイルを生成する手順。
- aqsis のインストールとテスト実行(Ubuntu 上)
RenderMan互換のレンダラーであるaqsisをUbuntuにソースコードからインストールし、サンプルのRIBファイルを描画してテスト実行する手順。
- RIB ファイルの文法と機能
RenderMan互換のシーン記述言語であるRIBファイルの基本文法(カメラ、球・円柱などのプリミティブ形状、マテリアル色、平行移動等)と機能について解説する。
- Linux で TooL のビルド
OBJ形式ファイルの読み込みと描画機能を持つOpenGLベースのC++ライブラリ「TooL」を、Linux環境(Fedora等)でソースコードからビルドする手順。
- Linux で glm のビルドとインストール
OBJ形式ファイルの読み込み・描画機能を持つOpenGLベースの「glm」ライブラリをLinux環境でビルドし、付属のビューワープログラムで動作テストを行う手順。
7. VR・AR・3次元スキャン
7.(1) VR デバイス(仮想現実デバイス)
目次: Oculus を使ってみる
- Oculus のセットアップ
Oculus Rift Runtimeのインストールからアカウント登録、PCの設定、Oculus公式アプリでのコンテンツのダウンロードと起動までの初期セットアップ手順。
- Oculus で WebVR システムを見てみる
Oculusの「Unknown Sources」を有効にし、FirefoxのWebVR機能を用いて、A-Frameで作成されたブラウザ上のVRコンテンツをOculus Riftで閲覧する手順。
7.(2) A-Frameを活用したVR・AR開発
- A-Frame を使ってみる
ブラウザで手軽にVRを扱える「A-Frame」の基本を紹介し、HTMLファイル内に立方体や球などの3Dオブジェクトを配置してブラウザ上で表示・操作する手順を学ぶ。
- A-Frame で3次元オブジェクト表示,アニメーション,パノラマ表示,クリッカブルに設定
A-Frameの拡張機能を利用し、パーティクルやアニメーション、波の動き、空のグラデーション、360度パノラマ画像、クリック操作への反応を実装する手順を解説する。
- パソコンで,マーカーベースの AR システムを動かしてみる(A-Frame, AR.js を使用)
A-FrameとAR.jsを利用し、PCのカメラで所定のマーカー(hiro)を読み取り、ブラウザ上に3Dオブジェクトを表示するマーカーベースのARシステムを構築する。
- パソコンで,Web サーバを立ち上げ,Web でマーカーベースの AR システムを動かしてみる(A-Frame, AR.js, Python を使用)
PythonでローカルWebサーバーを立ち上げ、AR.jsとA-Frameを用いて、Blenderで作成した3Dモデル(.obj形式)をマーカー上にAR表示するWebアプリの作成手順。
7.(3) 3次元スキャン装置 vivid
- vivid 使用法
3次元スキャナ「vivid 9i」のドライバインストールから、Rapidform XORを用いた複数方向からのスキャンデータの取得、位置合わせ(対応点設定)、ポリゴン合成までの手順。
- vivid を用いた 3次元顔画像の作成手順
3次元スキャナvividを用いて、顔の複数方向(正面・左右)を撮影し、不要部分の除去や穴埋め、鼻や目尻を基準とした位置合わせと合成により3D顔画像を作成する手順。
8. インストールと動作確認(3次元関係)
8.(1) Windows でのインストールと動作確認
目次: Windows でのインストールと動作確認(3次元関係)
Blender
- Blender 4.2 のインストール(winget を使用しないインストール),メニューの日本語化,Wavefront OBJ ファイルのインポート(Windows 上)
- Blender の最新版のインストール(ソースコードを使用)(Windows 上)
- Blender 2.93.4 のインストール(Windows 上)(古い情報)
- Blender Kit のインストール(Windows 上)
地形生成
3次元コンピュータグラフィックスのモデラー,ビューワー
- k3D のインストール(3次元のモデラー)(Windows 上)
- Easy View for 3D のインストール(Windows 上)
- Hira 3D Viewer のインストール(Windows 上)[PDF版], [ワード]
- CopperCube のインストール(Windows 上)
3次元コンピュータグラフィックスのレンダラー
- Mitsuba 3 のインストール(Windows 上)
- 非商用版 RenderMan のインストール(レンダラー)(Windows 上)
- aqsis のインストール(レンダラー)(Windows 上)
- Indigo レンダラー 4.4 のインストール(レンダラー)(Windows 上)
ポリゴン,3次元点群
- MeshLab のインストール,Wavefront OBJ ファイルのインポート(Windows 上)
- Windows で libPCL 1.9.1, Boost, Eigen, OpenNI 2.2, NITE2 のインストール
- Open3D のインストール(Windows 上)
3次元ボリューム(ボクセル)データ
ゲームフレームワーク,ゲームエンジン(2次元,3次元)
- cocos2d, pygame, pyglet のインストール,サンプルプログラムの実行(ゲームエンジン)(Python を使用)(Windows 上)
- Cocos2d-x 3.17.2 のインストール(Windows 上)
- Godot エンジンのインストール(3次元のゲームエンジン)(Windows 上)
- Panda3D SDK のインストール,サンプルプログラムの実行(3次元のゲームエンジン)(Python を使用)(Windows 上)
- CryEngine のインストール(3次元のゲームエンジン)(Windows 上)
- Open3D Engine のインストール(Windows 上)
地理情報システム
- OSGeo4W 64ビット版 (OSGeo4W64) のインストール(Windows 上)
- GISInternals の gdal Windows 版のインストール(Windows 上)
- FZKViewer のインストール(Windows 上)
OpenStreetMap,ESRI Shape
- Merkaartor のインストール,OpenStreetMap データのダウンロード(Windows 上)
- OSM2Worldのインストール(Windows 上)[PDF版], [ワード]
OSM2Worldは,OpenStreetMapのデータを .obj 形式に変換するソフトウェア
8.(2) Ubuntu でのインストールと動作確認
目次: Ubuntu でのインストールと動作確認(3次元関係)
OpenStreetMap, ESRI Shape
【その他】