UE4 による VR で使用するペイントツールの実装と応用
Mounting and Application of Painting Tool Used in VR Using UE4〇上原諒祐*1, 三浦研*2, 安田渓*3
Ryosuke Uehara*1, Ken Miura*2, Kei Yasuda*3*1 京都大学工学部建築学科 学部
Student, Graduate School of Engineering, Kyoto University*2 京都大学工学研究科建築学専攻 教授・博士（工学）Professor, Graduate School of Engineering, Kyoto University, Dr. Eng.
*3 京都大学工学研究科建築学専攻 研究員・修士（工学）Researcher, Graduate School of Engineering, Kyoto University, M. Eng

キーワード：ペイントツール; VR; Unreal Engine 4; 実験手法
Keywords: Paint Tool; VR; Unreal Engine 4; Experimental Approach.
1. 開発背景と目的
近年の VR 技術の進歩や Unity や Unreal Engine 4 など

3. ペイントツールについて3.1. ペイントツールの仕様のゲームエンジンの普及により、VR は設計実務における本研究において、筆者らは以下に記述する仕様のペイン合意形成だけでなく建築計画学の研究においても用いらトツールを実装した。VR 機材はモーションコントローラれるようになった。

ーが付属するものであれば任意のものを使用することが建築計画学の実験では、被験者が空間内で何らかの活動でき、本研究においては VR 機材として Oculus Rift、をしている間にその様子を記録したり、アンケートによるOculus Touch を使用する。VR アプリケーション内にお印象や機能などの評価をしたりすることが多く、中には空いて、利用者は仮想的に左手に A3 サイズのキャンバスを間を体験している間に思ったことやマップなどを被験者持ち、右手に消しゴム付きの鉛筆を持つ。鉛筆の先がキャに書いてもらうというような実験も行われる。そのようなンバスに触れているとき、触れている場所に黒い線を描く。

手法は、VR と実空間の間での空間認知の差異の問題が解右手の Oculus Touch の B ボタンを押した状態を保って決されれば、VR を用いた実験においても有効である。VRいる間は持っている鉛筆を逆さに持ち消しゴムとして利で空間体験をしている間に被験者が何らかの記述を行う用し、B ボタンを離したら鉛筆に持ち直す。アプリケーシには、任意の空間を VR で体験しているとき、仮想的に手ョンを終了したときに描かれたスケッチを画像ファイルに持っているキャンバスやノートに任意の記述を行い、そとして保存する。以下にペイントツールの利用の様子を図の内容を画像として保存するというペイントツールのよとして示す。(図 1、図 2)

うな機能が必要であり、本研究においてはその機能をUnreal Engine 4 を用いて実装した。
2. Unreal Engine 4株式会社 Epic Games が無料で公開しているゲームエンジンであり、UE4 と略される。様々な機能を C++のみではなく、ビジュアルスクリプティングツールである
BluePrint(以降 BP と記述する) を用いて実装することができることが特徴である。本研究において実装する機能もBP のみを用いて実装されたものであり、基本的な UE4 の使用方法を理解していれば容易に実装が可能である。なお、
本研究において使用された UE4 のバージョンは 4.22.3 である。
日本建築学会情報システム技術委員会
第 42 回情報･システム･利用･技術シンポジウム論文集， 252-253 ， 2019 年 12 月，東京
Proceedings of the 42nd Symposium on Computer Technology of Information ，Systems and Applications ， AIJ ， 252-253 ， Dec. ， 2019 ， Tokyo

左：図 1. VR でスケッチをする様子
右：図 2. VR 中のスケッチの内容
3.2. ペイントツールの建築計画学の研究への応用例
VR 空間でなく実存の都市空間において、被験者にオノマトペを記述させながら都市を歩いてもらうという歩行実験が行われた。1) この手法は実空間において行われたも－ 252 －のであるが、CG で再現された空間において VR を用いて3D モデルに専用のオブジェクトチャンネルなどを用意

この手法の実験を行えば、任意の条件のみを変更した複数する必要がある。の空間による対照実験を行うことが可能である。その際、ヒットしたコリジョンが Complex Collision の場合、返被験者はオノマトペの記述を VR の使用中に行われなけり値の Out Hit ピンから Find Collision UV 関数でヒットればならず、そのためには本研究で実装したペイントツーした場所の 3D モデルにおける UV 座標を取得する。こルのような機能が必要となる。の座標を用いて次のスクリプトを組む。(図 6)

4. UE4 における Canvas Render Target オブジェクト

Size から出力されたテクスチャのサイズに先に取得した

Begin Draw Canvas to Render Target 関数の返り値の及び諸関数

UV 座標を乗算することで、テクスチャのどこの座標をCanvas Render Target とは UE4 のテクスチャのオブジ編集するのかを指定することができる。また、同関数のェクトの一種であり、本研究のようにゲームプレイ中にテ返り値の Canvas から Draw Line 関数を呼び出すことクスチャ編集をする用途に利用することができる。BP やで、1 フレーム前にヒットした UV 座標を記憶し、そのC++にて、テクスチャパラメータが使用された Dynamic

座標と現在のフレームにヒットした UV 座標をそれぞれMaterial Instance を用い、Set Texture Parameter Value 関

テクスチャサイズに乗算した値を線分の始点と終点にす数の引数に Canvas Render Target オブジェクトを代入すれば、UV 座標に対応した 3D モデルの表面の位置に線ることで、本研究のような 3D モデルの表面に絵を描くなを描くことが可能である。描画を終了するためには Endどの操作が可能となる。

Draw Canvas to Render Target 関数を使用する。

以下に 3D モデル表面に線を描き、描いた線を消すことができるスクリプトの内容を示す。
Tick イベントから Line Trace By Channel 関数や LineTrace For Object 関数などを呼び出し、以下のようなスク描画された Canvas Render Target を画像として保存す
るには Export Render Target 関数を使う。画像フォーマットは hdr であり、引数の File Name には、「.hdr」の拡張子を記載する必要がある。

リプトを組む。(図 5)5. Canvas Render Target の応用
Canvas Render Target は本研究と同じ要領で他にも様々な応用が可能である。例えば、今日のアイトラッキング機能が搭載された VR を使用すれば、UE4 で両目の視線の始点と方向を取得することができ、この値を用いて人間が物体のどこに注視したかを物体にそのまま描画することも可能である。
図 5. LineTrace By Channel 及び Find Collision UVLine Trace がヒットするオブジェクトは描画したい対称に限定する必要があり、そのためには線の描画をする参考文献1) Yusuke Kita et al. : Depiction and Analysis of Urban Modality
Based on City Walks Using Onomatopeia (Transactions ofAIJ), Vol 83 No. 749, pp.1285-1295, 2018.7. (in Japanese)
北雄介・門内輝行：オノマトペを用いた街歩きによる都市の様相の記述と分析, 日本建築学会計画系論文集, Vol 83,
No.749, pp.1285-1295, 2018.7.

図 6. キャンバスへの線の描画の処理、Tick イベントによって呼び出される。

インタラクティブ発表 Z107

－ 253 －