【Unity】シンボルエンカウント制RPGと備忘録

★RPGツクールみたいな戦闘を再現したい

drive.google.com
※音はまだない
何とか破綻なしで動くようになりました。
敵はUIImageをプレハブ化してステータスを設定、表示させています。
スプライトアニメーション作り放題

右上のはオーブ消費で技を撃つ設定だった頃の名残です。

★UIImageで加算発光させたいとき
UI-Default.shaderを書き換える。
https://unity.com/releases/editor/archive
ここのOther installsのShadersをダウンロード
→DefaultResourcesExtra\UI\UI-Default.shaderにあるのでコピー

~何となくコード表記~

 Properties 変更&追加
        _MainTex ("Base (RGB), Alpha (A)", 2D) = "white" {}
        _Color ("Tint", Color) = (1,1,1,1)
        _Intensity ("Intensity", Range(0,2)) = 1

 Blend SrcAlpha OneMinusSrcAlpha
 →Blend SrcAlpha Oneに変更

 PASSにfloat _Intensity;を追加

 fixed4 frag(v2f IN) : SV_Target {...
 のhalf4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd);
 の下に
 color *= IN.color;を追加
 
 color.a *= m.x * m.y;を消去
 color.rgb *= color.a;を消去
 color.rgb *= _Intensity;を追加

備忘録
・ファイルを上書きする時はエクスプローラーからやれば再設定しなくて済む
・URPAssetRenderにScreenSpaceAmbientOcclusionするとかなり見栄えが変わる
・UIImageはAnimationで制御する場合、Color変更、CrossFadeAlpha等のスクリプト制御ができない(そりゃそうか)

【4月27日は】巨大な水上庭園に心魅かれたまま【ゼナディアアップデートの日】

ラテール19周年おめでとう
生きてね



ゼナディア/Xenadia/제나디아とは
www.youtube.com


wikiwiki.jp
www.inside-games.jp

ゼナディアは、2010年4月27日のアップデートにて追加されたフィールドである。
ラテールのマップの中では一番の広さを誇る。
バビロンの空中庭園がモチーフらしい。


オルカ海辺に突然生えてきた
...のではなく、魔王の力により破壊され、今まで封印されていたが、その力が弱まったことで出現した。

ゼナディアには女神セレスに仕えるシスター、神官、ベビードラゴンたちが住んでいる。

女神セレスは魔王に敗北した後、ゼナディアに身を潜めていたが
冒険者の前に姿を現し、残り少ない力を与えた。

ゼナディアの聖樹。


当時はレベル140以上で3次転職が可能であった。

転職クエストタイムアタック動画
www.youtube.com
(本国版では3次転職は2次転職と表記されている。
 というか、日本版で1次職→1次転職→2次職→...となるのが1次職→2次転職→2次職と誤表記?されていた?
 現在、公式では1次転職、2次転職表記である)

アップデート前のゼナディア
www.youtube.com

ゼナディアは「3次転職クエストの為に用意されたマップ」とも言える。
無数の部屋やエンティティ、ギミックは、転職クエストが削除されてからは用途が無くなり、抜け殻のようになってしまった。

現在は3次職そのものが削除され、ゼナディアは50レベルから可能になる1次転職の場となった。
シナリオは大幅に省略、それに伴い用途の無かった部屋や敵mobなどは削除、マップは縮小された。
定期的にゼナディアが変化する夢を見てきたが、アップデートで現実に、、、


ゼナディアで採取可能な草花。


二段ジャンプが無かった当時はストレスになるほど広く複雑だったが、その面倒さが逆に良かったのだ。
エリアでモンスターのレベル帯が異なっており、中央区域の上昇の石塔にレベル制限があった。
4:3の解像度で行ける場所も少ない分、全体マップを見た時にとても広大に感じた。
公式サイトの職業紹介動画のマップがゼナディアだったのを覚えている。
エレマスが外郭地域で魔法を放っている動画を今でも思い出す。


シナリオがあった頃のゼナディアに戻ってきてほしい。
だが、意味の無い敵や部屋、アイテムが残っている虚空感も、唯一無二のものだった。


ゼナディアが2Dゲームマップの美の骨頂だと思う。


昔、ギルマスと好きなマップの話をした時に
ギルマスは野原地帯、自分はゼナディアと答えていた、ギルマスは強い敵がうじゃうじゃいなければね~と言っていた

ゲーム制作の進捗⑦【シーン構成とか属性とか】

Godotの方が良くないか...?これ戦闘2Dにする必要あるか...?ツクールで良くないか...?と思いつつも、やっとシステムの枠組みができた

シーン構成について

シーン移動をしても持ち物やパーティのデータが引き継がれるようにしたい。
UnityにはDontDestroyOnLoadという、シーン移動でオブジェクトが破壊されないようにするメソッドがあるのですが、公式で非推奨

なので、データやManagerなどが入る、常に存在するシーンを用意し、シングルトン化する↓

ManagerSceneに移動してWarning(Cross scene references are not supported)が出ないように、即ちメインシーンに直接干渉しないように設計する。

キャラクターの成長倍率はScriptableObjectが保持し、それを参照して生成→PartyManager(Managerシーン)に格納
アイテムも同じように、個別データはScriptableObject、所持アイテムはManagerシーンに保持、UIなどの実体は全てメインシーンに実装します。

何故かシーンは1つしか開けないと思っていました。よく考えたらコピペする時に2つ開いてた
単一シーンで実装するという固定概念を捨てよう!!!

しかし、複数シーンにも問題はあり、公式ドキュメントに構成のマニュアルが無かったり、情報が少なかったり...
この実装自体も正解なのかわからん

追記:・DontDestroyOnLoadを使わない場合はLoadSceneMode.Additiveで加算ロードしなければならない!!
そしてScene scene = SceneManager.GetSceneByName("ManagerScene");で取得できる
・Awakeでシングルトン化してからLoadSceneでシーンを読み込まなければならない!
・必ずBuildSettingsでAddOpenScenesする
・・・DontDestroyOnLoad使った方が良くないか...?

相性表

ゲームに実装する予定のやつ

抜群:抵抗:等倍が2:2:1(同属性)+1(無)ってゲーム的にどうなんだ?

やはり3すくみ+光闇が最強なのか...
ミックスマスター、マジカルバケーションみたいな円型相性とかも良いけど覚えられない
(ポケモンは脳に染みついてるので例外)

ターン毎に沸いてスキル使用で減る属性オーブとか考えたけど、スキルの幅が狭まる&連発防止ならSPでよくね?なので没にしました。

【Unity】UIを閉じるときにアニメーションを再生する

AnimatorのステートをEntry→Popup→Hiddenとする。

private Animator animator;
public bool IsTransition { get; private set; }

StartCoroutine(WaitAnimation("Hidden", () => this.gameObject.SetActive(false)));
    private IEnumerator WaitAnimation(string stateName, UnityAction onCompleted = null)
    {
        IsTransition = true;

        if (!animator)
        {
            IsTransition = false;
            onCompleted?.Invoke();
            yield break;
        }
        yield return new WaitUntil(() =>
        {
            var state = animator.GetCurrentAnimatorStateInfo(0);
            return state.IsName(stateName) && state.normalizedTime >= 1;
        });

        IsTransition = false;
        onCompleted?.Invoke();
    }

【備忘録】MMDモデル作成の手順&注意点とか

Blender
・エンプティーアーマチュアーモデルの階層にする
・グループ化はモデル→リグの順に選択し空のグループで
・モデルを流用する場合、頂点グループを残し名前をボーンと合わせればよい
・別オブジェクトに同名モーフがある場合、統合される
・メッシュの裏面に影を落としたい場合、ソリッド化でふちなしにする(ふちありだと法線が丸くなってしまう)
・どうあがいても貫通するときはするので見えない所は透明マテリアルに分けるなりしよう!

〇PmxEditor
・まず身長(スケール)変更
・同名のマテリアル・剛体・ジョイントはコピペできる。
マテリアルはクリップボードへ複製→更新
・テクスチャの色をそのまま出したい場合、拡散色:1,1,1反射色:0,0,0環境色:0.5,0.5,0.5に
・照れモーフなどの透明マテリアルは材質の最下層にしておく(恐らく上から表示されている)
・左足/右足IK→Link:左/右ひざ→角度制限_X:-180,-0.5
・左/右目は親ボーンを頭、付与親を両目にし回転+で付与率は0.7~0.8ぐらいに
・剛体の大きさは結構大事、物理演算のボーンでも大きさで結構挙動が変わる
・曲面自動設定プラグインを使用する前に必ず該当頂点のウェイトを初期化する(これしないと上に吊り上がった感じになる)
・ジョイントをボーン追従―物理演算―ボーン追従とつなぐと引っ張ったり伸ばしたりできる(両端をボーン追従にして動かす)

クックと魔法のレシピの思い出話

~クックと魔法のレシピとは~

株式会社ゲームオンがかつて運営していた、iOS/Android向けのレストラン経営ゲーム。
2012年に配信を開始し、2018年6月28日をもってサービスを終了した。

プレイ動画がこれしか残ってないぜ!!!
www.youtube.com

サントラ見つけ....配信終了してる!!???
open.spotify.com


一番ハマったレストラン経営ゲームでした。

結構スクショを残していたので、ここに載せようと思います。
サ終のお知らせを見たとき、驚くでもなくあぁ......となった、無課金者に優しすぎたんだ
でも当時はまだ自由に課金できる年齢じゃなかったんだ...
でも一人が少し課金したところでどうにかなる訳でもないんや...

全てのソシャゲはサ終する運命にあり
買い切り版の配信、サントラとか設定資料集とかの発表を祈るしかないんだよなぁ



話を戻して、クックと魔法のレシピについて
期間限定で様々なテーマのガチャたまが登場していました。
島・門・空・床、インテリア、レシピ(レア度3~5?)が出てきます。確率は結構優しかった気がする。
そしてサントラにある通り、島ごとにBGMがある!

以下、2014辺り~2018のスクショ


アンティークギア島


の下らへん


晦日?正月?に出た温泉島(名前忘れた)
こことアンティークギア島のBGMだけ覚えている


おそらく、フラワーガーデンランド


大江戸島


紅葉の島
一番好きな島だったのにBGMが思い出せない


サ終のお知らせを見て島の全景を撮っている


2016年ぐらい?の正月島
そういえば、2017~2018年は復刻ガチャばかりだったと記憶しています。サ終も何となく察していたかな...



GMのお店
各テーマの島が見られました。







・・・そして、BGMを記憶を頼りに再現しようとしたが
アンティークギア島.mid - Google ドライブ
温泉島.mid - Google ドライブ

これが限界であった
というか最初と最後しかちゃんと覚えてなかった


ブラウザ・オンライン・ソーシャルゲームをやっている皆は動画を!動画を撮っておこう!!!

(故)Flashもブラウザ上で動作する故か、動画があまり残っていないんですよね。
当時も画面キャプチャしようとは思わなかった、というかこんなに一気に無くなるとは思っていなかった。
そこにあるのが当たり前だと思っていたものこそ撮っておいた方がいい


サントラ復活してくれ~

(追記)
当時の絵を発掘

進捗とかUnityのRPGどうする問題とか

進捗がナンバリングだと内容が分かりづらいので今度からこうしますよ
キャラ紹介とか進捗じゃないしね

今月もあんまり外観の進展がない!というか今年はあまり進められないかもしれない

これも全部UnityでRPGツクールっぽいことをしたいと思ったのが原因なんだ...


今どういう構造でやっているのか
・エンカウントしたらステート遷移
 バトル画面遷移→初期化→行動選択→ターゲット選択→敵行動選択→行動
 →初期化(ターン数は増やす)...
 
・行動はリストで管理
 スキル(Skill)、使用者(Character)、ターゲット(List
 →素早さでソートした順番に発動

・敵はフィールド上の3Dモデルと戦闘画面用のImageで分ける
 Imageプレハブにステータスを保持させる

果たしてこれでいいのか 動けばいいんだよ動けば!