iOS, Android版「Sword of Rapier -ソードオブレイピア-」が完成し、iOS版を審査へ提出しました。
Android版はiOS版と同時に配信をします。
iOSの対応端末は iPhone4S、iPad 第4世代以降です。
PlayStation Mobile, Xbox360インディーズゲームで大好評のアクションRPG!
敵を空高く打ち上げ、地面に突き飛ばす爽快感!
Metalで端末の性能をフルに使用し、華麗なグラフィックを実現!
MFiコントローラーで快適な操作をサポート!
細身の剣レイピアから繰り出す鮮やかな斬撃!
どこまでも広がる大空を翔け相手を制圧!
空高く翔ける、新感覚アクションRPG。
「Sword of Rapier -ソード オブ レイピア-」がiOSに登場!
只今Appleによる審査中です。
配信まで今しばらくお待ちください。
UnityのLightmapでマップの影を作りました。
これをキャラクターに影響させるようにするためLightProbeを使いました。
LightProbeを地面に埋まらない高さに配置しLightmapに焼き込みます。
影響させるキャラクターのモデルのEnable LightProbeのチェックをONにします。
これだけでLightProbeは動作しましたがキャラクターへの影響が強すぎました。
明るいところではキャラクターが真っ白になり、暗いところでは真っ黒になってしまいます。
そこで、キャラクターのシェーダーでLightProbeの影響力を調整することにしました。
まずSurface Shaderの#pragma surfaceの語尾に「noambient」を追加します。
これでシェーダーによるLightProbeの影響を無効にします。
次にVertexShaderで「ShadeSH9」を使ってLightProbeの値を取得します。
取得した値を調整します。
void vert (inout appdata_full v, out Input o)
{
UNITY_INITIALIZE_OUTPUT(Input,o);
// evaluate SH light
float3 worldN = mul ((float3x3)_Object2World, SCALED_NORMAL);
o.shLight = ShadeSH9 (float4 (worldN, 1.0)) * _AmountLightProbe + (1.0 - _AmountLightProbe);
}
最後にSurfaceShaderで調整済みのLightProbeをAlberoに乗算します。
o.Albedo *= IN.shLight;
これでLightProbeのキャラクターへの影響が上手くできました。
全ての100近くある全てのマップのLightmapの焼き直しに時間が掛かるため、LightProbeは歩けるところに影があるマップだけに配置しています。
Unity版Sword of Rapierは間もなく完成です。
5月中にiOSとAndroidへ配信を行う予定です。
その後Windows Phone 8へ配信をします。
Unity5のLightmapの初期設定ではGerneral GIのDirectional ModeがDirectionalになっており、この状態ではOpenGL ES 3.0以上のデバイスでないとライトマップが表示されません。
iPhone5等のOpenGL ES 2.0でライトマップを表示するにはNon Directionalに変更します。
そのままではTrueColorの大きなサイズのテクスチャができてしまうので、Compressedのチェックを入れると圧縮されたテクスチャが作成できます。
ObjectタブのScale In Lightmapの値で各オブジェクトのテクスチャに焼かれる面積を変更できます。
1枚のテクスチャに収まりきれないときにオブジェクト毎に面積を調整できます。
Bakeボタンの隣にあるContinuous Bakingのチェックを入れると、リアルタイムでライトマップが焼かれるので調整が楽になります。
現在、課金処理を作成しています。
SoomlaならiOSとAndroidを同時に作成できるので便利です。
Android, iOS共にデバッグが完了し、正常に課金処理ができています。
次はWindows Phoneの課金処理を作ります。
Unity版Sword of Rapierのターゲットプラットフォームは以下の通りです。
iOS: iPhone 5以降, iPad Air以降
Android: Snapdragon S4以降
Windows Phone: Windows Phone 8以降
1ヶ月以内にゲームを完成させてストアで配信を目指します。