SlideShare a Scribd company logo
GenerativeArt—MadewithUnity
Unityではじめる
オープンワールド制作
アーティスト編
自己紹介
大下岳志
Unity Technologies Japan
エバンジェリスト
・前職は関西の開発会社Artist、TA
・パイプライン・ワークフロー構築
・Game Creators Conference 実行委員
・CEDEC 2014~2018 運営委員
山村達彦
Unity Technologies Japan
エバンジェリスト
・フィールドエンジニアとして
Unityユーザーのサポート
Unityではじめるオープンワールド制作
3
アーティスト編 エンジニア編
広域で大量のオブジェクトを扱うオープンワールド風フィールドをUnityで、
どう作る? どう動かす?
アーティスト編・アジェンダ
サンプル紹介
ワークフローの構築
工程とデータの作り込み
LWRP
アーティスト編・まとめ
サンプル紹介
6
Open World Demo
7
・1000m×1000m×500m
・約42000個の配置オブジェクト
・Terrain機能による地形作成
PC版、iOS版
プレイアブルデモ展示中
・データ制作 2人月
・モバイル向け調整 1人月
Open World Demo
8
Unity 2019.1.x
・LightWeight Render Pipeline
・Post Processing Stack V2
・Shader Graph
・Terrain / Terrain Tools
・H-LOD
・DOTS
DOTS?
9
Data-Oriented Technology Stack
Unityで大量のオブジェクトを
効率よく動かす機能群
詳しくはエンジニア編で
C# Job System
Entity Component System(ECS)
Burst Compiler
ワークフローの構築
ワークフローの構築
11
・プロジェクト… Standard-Asset-Characters
・広さ… とりあえず1km四方
・配置物量… まずは必要なだけ
・配置物種類… まずは必要なだけ
Unityの機能、特にTerrainの確認から
やってみないとわからない事だらけ
(締め切りだけは決まっている)
オープンワールド背景を作ろう!
ワークフローの構築
12
・ただしデータは独自形式
・ランタイムで3D化。LODが強力
Unity Terrain
・画像ベースの地形生成機能
Heightmap
Splatmap
Treemap
Detailmap
…地形の高さ情報
…草など小物の分布
…質感の分布
…樹木の分布
ワークフローの構築
13
Unity Terrain
・ただしデータは独自形式
・ランタイムで3D化。LODが強力
・画像ベースの地形生成機能
Heightmap
Splatmap
Treemap
Detailmap
…地形の高さ情報
…草など小物の分布
…質感の分布
…樹木の分布
広範囲の地形生成に向いている機能
ワークフローの構築
14
・Terrainの不足を拡充する機能セット
Package Managerからインストール
Unity TerrainTools
「新機能のTerrain Toolsパッケージで
作業を高速化させよう」
https://blogs.unity3d.com/jp/2019/05/2
8/speed-up-your-work-with-the-new-
terrain-tools-package/
・Terrainエディターにスカルプトなど機能追加
・Terrain Tool Box …プロジェクト全体のTerrain
ユーティリティー。Terrainの分割、結合、
グループ化、プリセットの設定など
ワークフローの構築
15
・Replace Splatmaps
・Export Splatmaps
・Export Heightmaps
Unity TerrainTools
import Raw… Export Raw…
TreemapとDetailmapは現状入出力できない
ワークフロー構築に重要な機能
ワークフローの構築
16
・Replace Splatmaps
・Export Splatmaps
・Export Heightmaps
Unity TerrainTools
import Raw… Export Raw…
TreemapとDetailmapは現状入出力できない
ワークフロー構築に重要な機能
ワークフローの構築
17
Unity Terrain / TerrainTools
地形生成
質感設定
オブジェクト配置
Heightmap:import / Export 可
Unity、他ツールでの作成も可能
Splatmap:import / Export 可
Unity、他ツールでの作成も可能
Detailmap import / Export 不可 Unityでの作成は可能
DOTSを活かすためにも、GameObjectでの配置を検討
ワークフローの構築
18
Height
Splat
Bitmap
Asset
FBX
Placement
???
何らかの方法
ワークフローの構築
19
Placement
Height
Splat
Asset
Bitmap
FBX
???
ワークフローの構築
20
ノードベースのテクスチャコンポジットツール
SBS / SBSAR形式、Bitmap出力
PBR用テクスチャ生成
Substance Designer
Height
Road
Bitmap Height
Splat
Detail
Bitmap
ワークフローの構築
21
【検証結果】
PNG・TGAは〇、RAWは×
→PhotoshopでPNG(16Bit)に変換すれば〇
Substance Designer
Height
Road
Bitmap Height
Splat
Detail
Bitmap
Possible
ワークフローの構築
22
・プロシージャルコンテンツ作成ツール
・柔軟なノードベースワークフロー
Houdini
Height
Splat
Detail
Bitmap
Placement
???
ワークフローの構築
23
【検証結果】
・各種mapをFileノードで入力
・Point Attributeを使って配置情報を生成
Houdini
Height
Splat
Detail
Bitmap
Placement
???
CSV?
・CSV Exporter (GameDevelopmentToolset)
ワークフローの構築
24
・CSVファイルからAssetPrefabのインスタンスを生成
・対応するPrefabがない場合はCubeを作りインスタンス
Unity エディタ拡張
Houdini CSV importer
Placement
CSV
ワークフローの構築
25
【検証結果】
・配置情報をCSV Expoeterで出力
・Unityエディタ拡張でCSVファイルから配置を生成
Houdini
Height
Splat
Detail
Bitmap
Placement
CSV
Possible
ワークフローの構築
26
総合3DCG制作ソフト
・UnityへのFBX入出力
・キャプチャー素材の編集
Maya
Asset
FBX
Asset
FBX
Possible
ワークフローの構築
27
Placement
Height
Splat
Asset
Bitmap
FBX
???
ワークフローの構築
28
Placement
Asset
Height
Road
Height
Splat
Detail
Height
Splat
Asset
Bitmap
Bitmap
Bitmap
FBX FBX
CSV
工程とデータの作り込み
工程とデータの作り込み
30
Placement
Asset
Height
Road
Height
Splat
Detail
Height
Splat
Asset
Bitmap
Bitmap
Bitmap
FBX FBX
CSV
31
Placement
Asset
Height
Road
Height
Splat
Detail
Height
Splat
Asset
Bitmap
Bitmap
Bitmap
FBX FBX
CSV
工程とデータの作り込み
Unity 地形生成
工程とデータの作り込み
32
・プレイアブルな確認環境
→ビジュアルだけではない、
プレイフィールドとしての地形
Unity 地形生成
工程とデータの作り込み
33
・プレイアブルな確認環境
→ビジュアルだけではない、
プレイフィールドとしての地形
Unity 地形生成
・Terrain、TerrainToolBox
→フィールド全景の起伏(Heightmap)作成
→街道の大まかな情報(Roadmap)作成
階層構造による迷路
34
・Raise or Lower Terrain
→おおまかな形状を作成
Unity 地形生成
工程とデータの作り込み
35
・Raise or Lower Terrain
→おおまかな形状を作成
Unity 地形生成
工程とデータの作り込み
・Sculpt/Terrace
→フィールド部分を階層化
36
・Raise or Lower Terrain
→おおまかな形状を作成
Unity 地形生成
工程とデータの作り込み
・Sculpt/Terrace
→フィールド部分を階層化
・Set Height
→階層構造の微調整
37
・Raise or Lower Terrain
→おおまかな形状を作成
Unity 地形生成
工程とデータの作り込み
・Sculpt/Terrace
→フィールド部分を階層化
・Set Height
→階層構造の微調整
・Sculpt/Bridge
→階層同士をスロープで接続
38
・階層構造の作成後、大小の
演出的な起伏を追加
Unity 地形生成
工程とデータの作り込み
・Paint Texture
→本来はSplatmapを作る機能
白黒でおおまかな道の情報を作成
39
Placement
Asset
Height
Road
Height
Splat
Detail
Height
Splat
Asset
Bitmap
Bitmap
Bitmap
FBX FBX
CSV
工程とデータの作り込み
Substance Designer
工程とデータの作り込み
40
Substance Designer
工程とデータの作り込み
41
・4枚のHeightmapを1枚に
・イテレーション向上のため
サンプルイメージを固定
Substance Designer
Heightmapと
Roadmapの
スロット
SD作業時に
結果を確認する
ためのテスト画像
本番とテスト画像を
切り替えるノード
工程とデータの作り込み
42
・傾斜が大きい箇所
=周囲との輝度差
・基準より高い場所
=しきい値より輝度の高い箇所
・Roadmapの加工
歪み、濃淡、ノイズなどで
自然な街道を形成
Substance Designer 傾斜が大きい
箇所を抽出
基準より高い場所を
抽出
Roadmapを加工し、
自然な街道を生成
工程とデータの作り込み
43
・傾斜、高地、街道を除外した
箇所が草原の候補地
・草原からさらに条件を絞った
箇所に樹木を生成
・傾斜、樹木、街道の近くが
茂みの候補地
Substance Designer
草原の発生する
Densityを生成
樹木の発生する
Densityを生成
茂みの発生する
Densityを生成
工程とデータの作り込み
44
・必要な情報をまとめて画像化
・Hegihtmapは街道の影響を
加味して再出力
Substance Designer
Splatmapを
生成
Detailmapを
生成
Heightmapを
生成
工程とデータの作り込み
45
Substance Designer
Heightmap × 4 (L16)
Roadmap (L8)
Heightmap × 4 (L16)
Splatmap × 4 (RGBA8)
Heightmap (L16)
SplatmapRGB (RGB8)
Detailmap (RGB8)
SplatmapA (L8)
Unity Houdini
Input
工程とデータの作り込み
46
Substance Player
・Substanceのプレビュー
・Bitmapのエクスポート
公式の無償ツール
工程とデータの作り込み
47
Substance Player
・Substanceのプレビュー
・Bitmapのエクスポート
公式の無償ツール
工程とデータの作り込み
48
Substance Player
・Substanceのプレビュー
・Bitmapのエクスポート
公式の無償ツール
49
Placement
Asset
Height
Road
Height
Splat
Detail
Height
Splat
Asset
Bitmap
Bitmap
Bitmap
FBX FBX
CSV
工程とデータの作り込み
工程とデータの作り込み
50
Houdini
工程とデータの作り込み
51
Houdini
Terrain形状を、
Houdini内で復元
各マップを
インポート
Splatmapと
Detailmapの
情報を付加
Texture解像度に
合わせたGridを生成
工程とデータの作り込み
52
Houdini
崖配置 樹配置 草配置 茂み配置
ポイント散布
Prefabの割り振り
Densityが
低い箇所を
削除
面積を測定
工程とデータの作り込み
53
Houdini
全ポイント統合
Attributeを整理
工程とデータの作り込み
54
Houdini
全ポイント統合
Attributeを整理
工程とデータの作り込み
55
Houdini
プレビュー生成
工程とデータの作り込み
56
Houdini
プレビュー生成
57
Placement
Asset
Height
Road
Height
Splat
Detail
Height
Splat
Asset
Bitmap
Bitmap
Bitmap
FBX FBX
CSV
工程とデータの作り込み
Maya
工程とデータの作り込み
58
Maya
Unity Asset Store
・Book Of The Dead: Environment
・Buried Memories Volume 1: Yggdrasil - Icon Pack
・The Blacksmith: Environments
スキャンデータの加工
工程とデータの作り込み
59
Maya
Unity Asset Store
・Book Of The Dead: Environment
・Buried Memories Volume 1: Yggdrasil - Icon Pack
・The Blacksmith: Environments
スキャンデータの加工
工程とデータの作り込み
60
Maya
スキャンデータの加工
・Houdini仮モデルに合わせた
形状調整
UVとTextureを改変しない
(時間短縮のため)
・Soft Selectionで頂点移動
Meshの継ぎはぎ
工程とデータの作り込み
61
Maya
スキャンデータの加工
・Houdini仮モデルに合わせた
形状調整
UVとTextureを改変しない
(時間短縮のため)
・Soft Selectionで頂点移動
Meshの継ぎはぎ
工程とデータの作り込み
62
Maya
スキャンデータの加工
・Houdini仮モデルに合わせた
形状調整
UVとTextureを改変しない
(時間短縮のため)
・Soft Selectionで頂点移動
Meshの継ぎはぎ
工程とデータの作り込み
63
Maya
スキャンデータの加工
・Houdini仮モデルに合わせた
形状調整
UVとTextureを改変しない
(時間短縮のため)
・Soft Selectionで頂点移動
Meshの継ぎはぎ
64
Placement
Asset
Height
Road
Height
Splat
Detail
Height
Splat
Asset
Bitmap
Bitmap
Bitmap
FBX FBX
CSV
工程とデータの作り込み
Unity インポート/修正作業
工程とデータの作り込み
65
Unity インポート/修正作業
工程とデータの作り込み
66
Unity インポート/修正作業
作
業
効
率
工程とデータの作り込み
67
Unity インポート/修正作業
非可逆的作業
作
業
効
率
工程とデータの作り込み
68
Unity インポート/修正作業
草 ×
Objectの大きさ、配置量に課題
接地がシビアなので処理の作り込みが必要
樹木 ◎
接地面積が小さく法線にも沿わないので低難度
分布のバリエーションもイメージ通り
茂み 〇
ほぼ現状で問題なし。形状が街道を塞ぐ事が
多かったので配置制限を調整したい
崖 △
スキマや重なりが不均一。法線への追従も
要調整
工程とデータの作り込み
69
LWRP
LWRP
71
2019.3から名称が変わります
Universal Render Pipeline
LWRP(Universal RP)
72
Lighting
・Directional Light ×1
・Light Probes
・Refrection Probe
・Shadow map
・Lit Shader(Physically based)
Post Processing Stack V2
・Color Grading
・Bloom
・Vignette
・(Depth Of Field)
LWRP(Universal RP)
73
Shader Graph
Unity Learning Materials
https://learning.unity3d.jp/3007/
Unity道場8月〜イケてるエフェクト
の作り方と、Uniteを256倍楽しむ為
に知っておくべき知識〜
アーティスト編・まとめ
アーティスト編・まとめ
75
・Unityで大量のオブジェクトが扱える
・グラフィックス表現、Terrain機能も進化
・様々なDCCツールと柔軟に連携
今後もフィールド生成のプロジェクトは
継続したいと考えています。興味のある方、
すでに作られている方などいましたら
ぜひ情報交換しましょう。
・Unityで大規模なゲーム開発を!
76
DAY2
15:30~ Unityとプロシージャルで作るオープンワールド背景
GenerativeArt—MadewithUnity
Thank you.
エンジニア編に続く

More Related Content

PPTX
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
PDF
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
PPTX
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
PDF
UE4とUnrealC++について
PPTX
UE4のためのより良いゲーム設計を理解しよう!
PDF
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
PDF
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
UE4とUnrealC++について
UE4のためのより良いゲーム設計を理解しよう!
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について

What's hot (20)

PPTX
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
PDF
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
PPTX
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
PPTX
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
PDF
【Unity道場 2月】シェーダを書けるプログラマになろう
PDF
UE4における大規模背景制作事例 描画特殊表現編
PDF
60fpsアクションを実現する秘訣を伝授 基礎編
PDF
UE4におけるエフェクトの基本戦略事例 後半
PDF
UE4における自動プレイのポストモーテム
PDF
UE4でマルチプレイヤーゲームを作ろう
PDF
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
PDF
UE4におけるエフェクトの基本戦略事例 前半
PPTX
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
PDF
ディゾブルマテリアルで表現する立体魔法陣 (UE4 VFX Art Dive)
PPTX
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
PPTX
絵心がなくてもわかる UE4絵作りのコツ
PDF
UE4で作成するUIと最適化手法
PPTX
UE4のスレッドの流れと Input Latency改善の仕組み
PDF
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
【Unity道場 2月】シェーダを書けるプログラマになろう
UE4における大規模背景制作事例 描画特殊表現編
60fpsアクションを実現する秘訣を伝授 基礎編
UE4におけるエフェクトの基本戦略事例 後半
UE4における自動プレイのポストモーテム
UE4でマルチプレイヤーゲームを作ろう
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4におけるエフェクトの基本戦略事例 前半
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
ディゾブルマテリアルで表現する立体魔法陣 (UE4 VFX Art Dive)
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
絵心がなくてもわかる UE4絵作りのコツ
UE4で作成するUIと最適化手法
UE4のスレッドの流れと Input Latency改善の仕組み
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
Ad

Similar to Unityではじめるオープンワールド入門 アーティスト編 (20)

PPTX
「アーティスト活動」というプログラマの自己防衛術 - 坪倉輝明
PDF
【Unity道場 建築スペシャル】はじめてのUnity
PDF
初めてのVR/AR開発をUnityで
PDF
【Unity道場 教育編】さまざまに広がるUnityの世界 2021
PDF
Unity MARS導入セミナー(7月8日号) - Unityステーション
PDF
Unityの開発環境が生み出す可能性
PDF
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
PPTX
01 idea table3.0
PDF
AI神絵師はITエンジニアの未来をどう変えるのか
PDF
Unity2DとNewGUIについて
PDF
UIbuilderを使ったフロントエンド開発
PDF
BasculeSlide2022_11.pdf
PDF
Couchbase x unity
PPTX
Unity用ビジュアルノベルツール「宴3」開発帰還報告書
PPTX
SoftBank MR Intel Simulator(仮)の体験について
PPTX
Unity ゲーム開発
PDF
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
PPTX
Practical game development with Stingray
PDF
Webプログラマの為のUnity入門
PDF
いろいろ見せますLord of Knightsのクライアント開発事例紹介
「アーティスト活動」というプログラマの自己防衛術 - 坪倉輝明
【Unity道場 建築スペシャル】はじめてのUnity
初めてのVR/AR開発をUnityで
【Unity道場 教育編】さまざまに広がるUnityの世界 2021
Unity MARS導入セミナー(7月8日号) - Unityステーション
Unityの開発環境が生み出す可能性
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
01 idea table3.0
AI神絵師はITエンジニアの未来をどう変えるのか
Unity2DとNewGUIについて
UIbuilderを使ったフロントエンド開発
BasculeSlide2022_11.pdf
Couchbase x unity
Unity用ビジュアルノベルツール「宴3」開発帰還報告書
SoftBank MR Intel Simulator(仮)の体験について
Unity ゲーム開発
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Practical game development with Stingray
Webプログラマの為のUnity入門
いろいろ見せますLord of Knightsのクライアント開発事例紹介
Ad

More from Unity Technologies Japan K.K. (20)

PDF
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
PDF
UnityのクラッシュをBacktraceでデバッグしよう!
PDF
Unityで始めるバーチャルプロダクション
PDF
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
PDF
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
PDF
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
PDF
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PDF
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
PDF
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
PDF
「原神」におけるコンソールプラットフォーム開発
PDF
FANTASIANの明日使えない特殊テクニック教えます
PDF
インディーゲーム開発の現状と未来 2021
PDF
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
PDF
Burstを使ってSHA-256のハッシュ計算を高速に行う話
PDF
Cinemachineで見下ろし視点のカメラを作る
PDF
徹底解説 Unity Reflect【開発編 ver2.0】
PDF
徹底解説 Unity Reflect【概要編 ver2.0】
PDF
Unityティーチャートレーニングデイ -認定プログラマー編-
PDF
Unityティーチャートレーニングデイ -認定アソシエイト編-
PDF
今だから聞きたい!Unity2017/18ユーザーのためのUnity2019 LTS基礎知識
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
UnityのクラッシュをBacktraceでデバッグしよう!
Unityで始めるバーチャルプロダクション
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
「原神」におけるコンソールプラットフォーム開発
FANTASIANの明日使えない特殊テクニック教えます
インディーゲーム開発の現状と未来 2021
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
Burstを使ってSHA-256のハッシュ計算を高速に行う話
Cinemachineで見下ろし視点のカメラを作る
徹底解説 Unity Reflect【開発編 ver2.0】
徹底解説 Unity Reflect【概要編 ver2.0】
Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定アソシエイト編-
今だから聞きたい!Unity2017/18ユーザーのためのUnity2019 LTS基礎知識

Unityではじめるオープンワールド入門 アーティスト編