世の中には個人でストーリー性のある良き良きスマホゲームを作ってらっしゃる人たちがたくさんいますよね。
私もカジュアルじゃないゲーム作りたい・・・・!力がほしい!
ドット絵のゲームつくりたいけど画力がたりないし、なんか画面かわいくしたいけどなーなんかいい考え浮かばないかなーお話は考えてるんだけどな。voxelでもいいけど3Dの知識ないし、そもそもモデリングとかボーン組み込みとか大変すぎるしえええーどうしようかなーでもゲーム作りたいしこまっ(ry
スヤァ
そんなときにこんな夢を見ました。
エリアがvoxelでできてて、動くものはドット絵で・・・え・・・その発想はなかった・・・・。
神からゲームを作れと お告げがあった
わかった。つくるよ。神ありがとう。
素材作り
-
キャラクターはスプライトアニメーション
-
エリアはMagicavoxelで作成してobj形式に書き出し
かわいくないですね。かわいくしていきましょう。
かわいい画面の絵作りって難しい
まずスマートフォンで動くこと前提で作りたい気持ちがあります。
本職ですし、配信も楽ですしね。(ただ慣れてるだけという話)
絵作りに必要なのは、主にライティングであったり、ポストエフェクトのようなものであったりしますが、これには以下の問題点がそれぞれあるのです。
- ライティング
- リアルタイムレンダリングの処理負荷が大きい
- ポストエフェクト
- モバイル非推奨のエフェクトがある
しかし、こういったものを使わねば神から与えられた絵は作れぬ・・・。
ということでそれぞれ調査してみました。
モバイル負荷を少なくするライティングの調査
リアルタイムで行われる光と影の計算。
そもそも動かないオブジェクトはリアルタイムで計算する必要がありませんね。
ゲーム再生する前に計算してしまえばいいのです。
UnityのBake機能を使う
光と影をオブジェクトに焼いてしまいます。べいく!
①Bake対象のモデルのGenerate Lightmap UVにチェックを入れる
②MeshRendererにてCast ShadowsがON、Receive Shadowsにチェックが入ってることを確認
③対象のライトのModeがMixedになっていることを確認
Mixedにするとベイク対象ではないオブジェクトにはリアルタイムライトとしてふるまわれる。
⑤Lighting設定の以下の設定を確認
Environment LightingのSourceがGradient
Realtime GlobalIllumination がオフ
Auto Generateがオン
Bakeが始まりました。
ライトマップもできています。
この影、ライトじゃなくてもう焼き付いてるんだぜ・・・。
では、次回は②ポストエフェクト編につづきます。