Unityと吉里吉里でSLGとかRPGを作るブログ

久しぶりのアップデート
内容は、一部エリアにて、海面を突き抜けてしまうバグの修正

毎回のようにDLサイト様のものは既に適応済みです。
再ダウンロード頂くか、こちらからパッチをダウンロード頂き、適応お願いします。

スポンサーサイト
2017.08.06 / Top↑
そんな訳で、前回に続き、Unityの実装を公開します。
ちなみに現在の状況はこんな感じです
Twitterに飛びます

■前回からの相違点

・HPバーが付きました
・白兵攻撃および弓攻撃を受けた場合、一定確率(現在は100%)でガードするようになりました。
・「回復スキル」の実装
・味方に来た白兵攻撃を「かばう」ことができるスキルの実装
・攻撃のターゲットを自分に向ける「挑発」スキルの実装

もともと、白兵攻撃のファイター、見方を守るシールダー、弓を使うアーチャー、回復するヒーラー、魔法攻撃するメイジの5役を基本にすうる予定でしたのですが、やっと全役の基礎スキルが実装できました。



■Unityの実装

★HPバー
HPバーは、アセットを購入しました。
Health and Progress Bars Pro
安い上に必要な機能はすべてそろっている中々有用なアセットです。割とおすすめ。
デモからコピペしてサイズ変えるだけで使えました。渡せる引数が複数あり、残り%やMAXと現在値など、さまざまなデータ形式に対応してます。
キャンバス
作りとしては、各キャラクターと同じで、キャンバスを人数分用意して、そこにキャラクター番号を設定。UnitMgrにアクセスして、その番号のキャラがいないなら、自分を消滅。
あとは、位置をキャラに合わせて移動するといった感じです。
しかし、キャンバスわかりにくい、Unityで最初にキャンバス周りから入ったせいで、1度挫折したのを思い出しました。

★かばう
以外に難しかったのはかばうの実装です。
基本リアクションは、攻撃を受けたときに発生する作りだったのですが、「かばう」というのは、攻撃が来る前に移動して、防御する必要があったので、中々骨が折れました。




◆つぶつぶ主人公HP◆  ◆サンプルダウンロードの一覧◆




2017.07.30 / Top↑
そんな訳で、前回に続き、Unityの実装を公開します。
といっても、かなり作り直しました。
大枠では変わってませんが、処理の方法は大きく変更しています。
そんな訳で、もう一度、詳し目に書いてみます。

ちなみに現在の状況はこんな感じです
Twitterに飛びます

見た目の大きな違いとして、近接攻撃に「反撃」が出るようになりました。
また、魔法の飛び方を色々いじれるようにしました。
見た目の調整はこれからとしても、前の直線的な飛び方に比べても、良くなっていると思います。

見た目以外の違いとしては、キャラクターの制御を3つのスクリプトで制御する形にしました。
キャラクターのアクション、エフェクト、状態制御の3つです。
コンセプトは変わりませんが、変更前より強く独立性を高め、各ユニットのことは、極力各ユニットで処理を簡潔しています。

■Unityの実装

キャラクター制御
★キャラクター
キャラクターの制御は、以下のスクリプトで行っています。
・UnitMgr
 すべてのユニット情報がここに格納されています。
 ダメージや攻撃ターゲットの決定など、ユニット同士の情報が必要な処理もここに記載されています。

・AnimeControl
 キャラクターの動き(走ったり)や移動を制御してます。

・EffectMgr
 移動量や、移動速度などのエフェクト事の情報を管理してます。

・EffectControl
 ユニットが出すエフェクトの生成や移動を行います。

・UnitControl
 ユニットの状態制御を行っています。AnimeControlやEffectControlに命令を出したり、エフェクトやアクションの終わりを受け取って、状態の制御を行います。

ユニットコントロール
UnitControlでは、状態をこんな感じで管理してます。
「状態」辞退はUnitMgrに格納されており、それを参照、更新することで、各キャラが現在何をしているか、これから何をするかを制御する訳です

★ゲーム制御
プレイメーカー

ゲームの制御は、PlayMakerというアセットを使用してます。
正直、機能の3割も使っていません。もう少し使いこなしたいですね。




◆つぶつぶ主人公HP◆  ◆サンプルダウンロードの一覧◆
2017.07.16 / Top↑
お世話になっております、つぶつぶ主人公の猫ダマシです

今更の告知ですが(まいどですね)、夏コミ受かりました。
11日(金)の東す18aです。

クーポンでめっちゃ安くなる、アマゾンのタブレットを買いましたので、前回動画を忘れた分を、2倍の画面で取り返します。
2017.06.19 / Top↑
そんな訳で、前回に続き、Unityの実装を公開します。


ちなみに現在の状況はこんな感じです
Twitterに飛びます

相当量のスクリプトを書いたのに、見た目の印象はそんなに変わってないのがつらいですね。。。



■Unityの実装

・キャラクター
スプライトスタジオのアセットを使ってキャラクターオブジェクトを作成しています。

・移動
移動はiTweenアセットを使用。

・データ制御
データ周りはCSVをスクリプトで読み込み、スクリプトで更新してます。

・状態遷移
クリプトでほぼほぼ実装していますが、分かりやすさ向上のため、状態変化の部分はPlaymakerのアセットを使用しています。

・エフェクト
スプライトスタジオではなく、スプライトを使ってます。




■前回からの変更点

・キャラクターをデータに合わせて生成するようにしました。これによりいろいろなキャラを表示できます。
・エフェクトが付きました。
・ダメージ表現が付きました。
・武器に合わせ(剣だけだけど)踏み込む位置が可変になりました。



■エフェクト

前回、問題になっていたのは、スプライトスタジオのせいでした。
簡単に言うと、スプライトスタジオの提供しているViewは、スプライトスタジオのオブジェクトは、Z軸だけで表示できるものの、その他のオブジェクトは、このViewの後ろか前かしか表示できないようです。

そんな訳で、スプライトスタジオのQAを参考にした結果、こうなりました。
Viewの所
そう、すべてのキャラクターの上にViewを付ければ、その間にエフェクトを表示できる訳です。(※赤枠)
ちなみに、View間のソート順は、Sorting Groupで制御してます。(※青枠)



■赤丸

そして、気になる足下の赤丸ですが、こちらでダメージを受ける側の制御をしています。このまるが、対象まで移動したら、それをキーに対象がダメージエフェクトやらダメージ数値やらを出します。
赤丸解説

赤丸はiTweenで動かしてます。iTweenには移動が終了した後にプロシージャを呼べるので、それを使ったて、制御してます。
ちなみに、collisionは使ってません。

赤丸を移動させる理由として、遠隔攻撃と近接攻撃を同じロジックにできる(だろう)と判断した為です。








◆つぶつぶ主人公HP◆  ◆サンプルダウンロードの一覧◆
2017.06.11 / Top↑