オープンソースのゲームエンジンを活用したXR開発～オープンソースを用いたXR開発への向き合い方と開発コミュニティの動向～

スクエアfreeセミナー
第147回セミナー： メタバース,探検と開発のガイド

自己紹介
所属

野村総合研究所（NRI）
本日の発表内容は、所属組織を代表するものではありません

経歴

証券や銀行など大規模システムの開発に従事
オープンソースへのコントリビュート
オープンソースのAPI Gateway開発（未公開）

趣味ツーリング、カメラ（風景写真）
ソフトウェア開発

勝村 友博（かつむら ともひろ）
オープンソースのゲームエンジン書
籍を執筆させていただきました（リックテレム）本日お話しする内容

商用ゲームエンジン Unity & Unreal Engine

オープンソースのゲームエンジン Godot
商用 or オープンソース？ライセンスの話をふまえてオープンソースのゲームエンジンGodotを用いた開発ゴール＆ノンゴール

ゴール• オープンソースのゲームエンジンと商用のゲームエンジンそれぞれの特徴を示す

ノンゴール• 開発ツールに優劣を付ける• 開発ツールの具体的な使い方を示す• メタバース、XR開発は簡単に始められることを知る※ メタバースやXRは知っている、だけど開発のことはあまり知らない方を想定しています。
オープンソースにあまり馴染みがない方を想定しています。

はじめに、言葉の整理• メタバース（metaverse = meta + universe）

メタバース
XR技術を用いて構築した空間・サービス• メタバースの定義自体は様々ある• XRはVR、MR、ARの総称• XRはメタバースを実現する技術• 本資料内ではより技術に近い言葉である「XR」を用います

XR
Extended Reality

MR
Mixed Reality

VR

AR

Virtual AugmentedRealityReality

本日の主役、「開発ツール（ゲームエンジン）」• ゲームエンジンと呼ばれるツールは世の中にたくさん存在する• ゲームだけでなく、映像制作やシミュレーションが可能なものもある• 以下はゲームエンジンの中のほんの一例

なにを基準に選べばよいか•

ゲームエンジンの使用経験• ゲームエンジンの操作を覚えること自体に学習コストがかかる
プログラミング経験• ビジュアル言語が使えるものもあるが、基本はタイピングで打ち込む• プログラムの概念（オブジェクト指向、抽象化、コールバック、...）を理解しているか

開発言語

•

C++、C#、Python、Go、ビジュアル言語...

開発するもの•••２D、３D
ゲーム、映像制作、XR、シミュレーション
モバイル向け、デスクトップ向け、特定デバイス向け、開発マシンスペック•

メモリ、CPU、GPU、ディスク容量、...

費用

•
•

開発ツールを利用するコスト
製作物を公開・販売した際に費用は発生するか

•

開発スキル

ゲームエンジンの2大巨頭 Unity&UnrealEngine

Unity

Unreal Engine

開発元

Unity Technologies

Epic Games

開発言語

C#

ブループリント、C++

ライセンス

プロプライエタリ

プロプライエタリ

収益が10万ドル以下の場合無料
上記以上は有料ライセンス

総収入100万ドル未満は無料
上記以上は5%のロイヤルティ

スマホアプリデスクトップアプリ、コンソールゲーム

ゲームエンジン自体の動作が比較的軽い
ネット上の情報が多く初心者にやさしいグラフィックスがきれい
ゲーム実行時のパフォーマンスが高い

価格
得意領域特徴⚫ ゲーム開発・映像制作・シミュレーション・XRなど様々な用途で利用可能⚫ ２D・３Dの両方に対応⚫ Asset Storeで有料・無料の素材を入手できる⚫ キャラクター、エフェクト、テクスチャ、サウンド、建物、乗り物、…

▲ Asset Storeから素材を入手可能
https://assetstore.unity.com/ja▲ メタバースにおける活用も◎▲ 建設、自動車、航空宇宙、医療、小売業などあらゆる業界でで活用されている
https://unity.com/ja/solutions/government-aerospaceMade with
映画などの映像制作でも利用される
Unityはモバイルアプリが得意
XR製作も可能アバターの水のエフェクト
https://blog.unity.com/ja/industry/technologybehind-avatar-the-way-of-water

Pokemon GO
https://www.pokemongo.jp/play/

シン・エヴァンゲリオン
https://twitter.com/CGWjp/status/1410417457798344705

⚫ ゲーム開発・映像制作・シミュレーション・XRなど様々な用途で利用可能⚫ ２D・３Dの両方に対応⚫ 強力なレンダリングエンジンを有し、グラフィックスが非常に綺麗⚫ マーケットプレイスで有料・無料の素材を入手できる⚫ キャラクター、エフェクト、テクスチャ、サウンド、建物、乗り物、…

https://www.unrealengine.com/ja/solutions/games

https://www.unrealengine.com/ja/spotlights/dneg-createsthe-matrix-resurrections-dojo-scene-with-unreal-engine▲ マーケットプレイスから素材を入手可能
https://www.unrealengine.com/marketplace/ja/store▲ 最先端のグラフィックス

Made with
産業分野でもXRが活躍

物理シミュレーション＋
最先端グラフィックス

FINAL FANTASY VII REMAKE
https://www.unrealengine.com/ja/developer-interviews/how-square-enix-leveraged-unreal-engine-tomodernize-final-fantasy-vii-remake

ARによりリアルタイムでデザイン

Unreal Editor for Fortnite (beta)

https://cdn2.unrealengine.com/automotive-fieldguide---japanese-v3-14f1409c8d22.pdf

https://www.unrealengine.com/ja/blog/unrealeditor-for-fortnite-is-now-available-in-beta

オープンソースのゲームエンジン
UnityとUnreal Engineはどちらもプロプライエタリ(商用) なゲームエンジン
オープンソースのゲームエンジンはないのか？

ChatGPTに聞いてみた

そもそもオープンソースとは何か？

• オープンソース＝オープンソースソフトウェア（OSS）• オープンソースに絶対の定義はない• Open Source Initiative（OSI）という団体がオープンソースの定義とコミュニティの保護に取り組んでいる• オープンソース＝OSIの定義に則ったソフトウェアと認識されることが多い

https://opensource.org/osd/

オープンソースを定義する10項目
1. 再配布の自由•

他のソフトウェアと組み合わせたソフトウェアの配布や販売に料金を要求してはいけない

2. ソースコードの公開•

ユーザがソースコードを入手できる手段を提供しなければならない

3. 改変や派生物の製作•

変更と派生物の製作を許可しなければならない

4. 原著作者のソースコードとの区別
5. 特定人物・集団に対する差別の禁止

6. 特定の分野に対する差別の禁止
7. ライセンスの配布•

ライセンスは再配布された先にも適用されなければならない

8. ライセンスは特定製品に限定してはならない
9. ライセンスは他のソフトウェアを制限してはならない
10.ライセンスは技術中立でなければならないなぜオープンソースに注目が集まる？
業界を騒がせたUnityのビジネスモデル変更• 2023年9月12日 Unityが「Runtime fee」の導入を発表• ビジネスモデルの変更 ＝ 料金プランの変更（事実上の値上げ）• 「Unity税」と呼ばれ開発者（Unity社員をふくめて）から猛反発をうける• 事前の説明が無く、突然変更されたことで半ば炎上状態• Unityは謝罪し、料金プランの修正を余儀なくされる

https://twitter.com/unity/status/1701650081403842851

なぜオープンソースに注目が集まる？
業界を騒がせたUnityのビジネスモデル変更• 将来的に同じことが繰り返される懸念があり、乗り換えを検討する動きが活発化• Unreal Engine は学習コストが高いかつプロプライエタリ• Godotは学習コストが低くオープンソース

https://www.reddit.com/r/godot/comments/16h8ei3/
migrating_from_unity_to_godot_today_what_do_i/

https://gigazine.net/news/20230914-post-unity-game-engine/

https://automatonmedia.com/articles/newsjp/20230918-264924/

定期的に話題になるライセンス問題• ライセンス変更の話題は定期的に話題になる• 歓迎される変更もあれば、歓迎されない変更もある

https://cloud.watch.impress.co.jp/docs/column/info
stand/1524938.html

https://mag.osdn.jp/17/09/25/184500

オープンソースとプロプライエタリ
プロプライエタリ ≒ 商用ライセンスのこと ≒ 企業独自のライセンス

オープンソースライセンス

オープンソースのライセンス• オープンソースのライセンスはSPDX License Listで管理されている• https://spdx.org/licenses/• ライセンスは500種類を超える

パーミッシブ弱コピーレフト(非コピーレフト)

強コピーレフト

MITApache

BSD

MPL

LGPL

GPLAGPL

商用利用可可可可可可可

再配布可可可可可可可改変可可可可可可可

特許利用ー可ー可可可可ライセンス表記

必要

必要

必要

必要

必要

必要

必要

改変物のソースコードの開示

不要

不要

不要

必要

必要

必要

必要

利用物のソースコード開示

不要

不要

不要

不要

不要

必要

必要

ここからはオープンソースのゲームエンジン「Godot」のご紹介

Godotとは•オープンソース（MIT License）•

Githubでソースコードが公開されている•

2300人近くが開発に参加•

スター数（★）7万6千以上•

ゲームエンジン自体はC++で実装•

実行ファイル1つだけで動き、インストールが不要で軽快に動作する＝ポータブル•

資金調達を行いながら開発が進められている▲スポンサーGodotの歴史• 2014年にv1.0がGithub上に公開された• 公開以降、資金調達を行いながら開発が続けられてきた••

無料で使えるオープンソースの裏では開発を継続するためのコミュニティの努力がある•

趣味の開発者だけでなくフルタイムワーカーも雇用している

v4.0からXR関連の機能を大幅に強化

2023年3月のv4.0において、XR対応が強化された
2014/12月
v1.0
v1.1

2016/2月
v2.0

2023/3月
v4.0

2018/1月
v3.0
v2.1

2016/6月
Mozillaによる資金援助

v3.1

v3.2

v3.3

v3.4

v3.5

v3.6

v4.1

v4.2

2021/12月
Metaによる資金援助

2020/12月
Facebookによる資金援助
VR/AR機能強化への期待

2021/2月
ゲーム開発スタジオ
Kefirによる資金援助▲v4.0リリース前のブログでXR対応をアピール
https://godotengine.org/article/godot-xrprogress-update-jan-2023/

Godotを用いた開発 - ２D開発•••

基本的に２D開発で必要な機能は一通り備えている
２D専用のレンダリングエンジンを持っている（Unityは３Dを２Dに拡張）
ゲーム製作に特化しているため、CGや映像制作にはあまり向かない

主要機能のサポート状況
物理演算

重力、剛体、摩擦、抵抗、など

マップ作製

タイルマップ

アニメーション

対応

パーティクル対応

ライティング

直線光、点光源
色、輝度、影、反射(間接光)

https://godotengine.org/features/

Godotを用いた開発 - ３D開発••••

２D同様、基本的に３D開発で必要な機能は一通り備えている
ゲームエンジンの扱い方はUnityやUnrealより容易
グラフィックス機能はUnityやUnrealに比べると非力
大規模プロジェクトは管理の面で難しくなる

主要機能のサポート状況
物理演算

重力、剛体、摩擦、抵抗、など

アニメーション

３D・２Dともに対応

パーティクル対応

ライティング

直線光、点光源、円錐光
色、輝度、影、反射(間接光)

https://godotengine.org/features/

開発コミュニティ
オープンソースは世界中の開発者やユーザが仕事・趣味で作り上げていく➡ コミュニティーが充実している•

Discord：チャットでの情報共有やQ&A•

Reddit：情報共有•

Facebook：情報共有、作品紹介、Q&A•

Twitter, Mastodon：公式情報の発信、情報共有•

Youtube：事例紹介、Godot関連のプレゼン•

Forum：Q＆Aやチュートリアルなど

https://godotengine.org/events/コミュニティイベントも開催されているオンライン・オフラインでカンファレンスなども開催されている
一部はYoutubeチャンネルから視聴可能•

Godot Conference•

GDC：Game Developers Conference

https://www.youtube.com/c/GodotEngineOfficial

https://godotengine.org/events/

Godotを用いた開発 – 学習ツールなど•

Godotはドキュメントが比較的充実している•••

https://docs.godotengine.org/en/stable/index.htmlとはいえ最新版のドキュメントは英語•●２Dのゲームを作成するチュートリアル•●３Dのゲームを作成するチュートリアル•× XRのチュートリアル

翻訳プロジェクトは動いているが、アップデートに追いつけていないのが現状。今後に期待Godotを用いた開発 – 学習ツールなど•

Asset Libraryが利用可能•

無料で利用できる素材や、完成プロジェクトが公開されている•

完成プロジェクトが公開されているので、これを見ながらGodotを学ぶことも可能•

公開されているアセットもオープンソースのライセンス

Godotを用いた開発 – UI•GodotはUnityやUnreal Engineより学習コストが低い理由の１
つはUIのシンプルさ•

１つのウィンドウに全てが収まっていてるため操作画面の切り替えが不要 → 操作を覚えやすい•

プログラミングも同一ウィンドウ内ででき、環境構築などは一切不要

Godotを用いた開発 – プログラミング•

GodotはGDScriptという専用のプログラミング言語を持っている•

GDScriptはPythonによく似た言語であり、他の言語よりも学習コストが低い•

GDScriptの実行環境はGodot本体に組み込まれているため、環境構築は不要•

言語バインディングという方法によりC#、C++などを用いてもプログラ
ムできるが、GDScriptを用いることが一般的まとめ◼ 世の中にゲームエンジンは多数存在する◼ プロプライエタリなものではUnityとUnreal Engineが２大巨頭◼ オープンソースではGodotが人気◼ 個人レベル、小規模な売り上げの場合はUnityやUnreal Engineを無料で使える◼ それなりに大きな売り上げのある制作物ではUnityやUnreal Engineのライセンス料が発生◼ オープンソースのゲームエンジンはどれだけ売り上げがあってもライセンス料は不要◼ オープンソースのゲームエンジン「Godot」は機能面でUnityやUnreal Engineに劣るが、学習コス
トが小さく初学者にとっては始めやすいご清聴ありがとうございました

最近執筆させていただいたこちらの本はGodotの入門書となっています。

Godotかんたん入門 Kindle版（リックテレコム）
https://www.amazon.co.jp/dp/B0CBJH9QVZ