投稿記事

ゲーム制作の記事 (4)

yosita/たんすかい 2024/04/06 17:16

【Unity推理脱出ゲーム】宴のParamTblで犯人当てを実装する

久しぶりの更新になります。
先日、Unityを2022にし宴4にバージョンアップしました。
推理脱出ゲームを夏コミに向けて絶賛開発中です。

今回は犯人当ての画面の作り方です。
演出関連はほぼ入ってないので一旦基本編(最低限の機能に絞った実装)になります。
開発中画面は以下です。


仕様としては以下です。

/// 1、犯人を推理するボタンを押されるとUIを表示
/// 2、宴から犯人数、犯人の名前、犯人の画像、犯人かのフラグ、を取得し、ボタンを生成。
/// 3、ボタンを押されると、ボタンをグレーアウトし、ユーザーの選択を記録
/// 4、OKボタンを押されると、ユーザーの選択を確認し、正解か不正解かを判定
/// 5、正解の場合は、正解用のシナリオを再生し、クリアフラグを立てる
/// 6,不正解の場合は、不正解用のシナリオ再生
宴から取得している
犯人数、犯人の名前、犯人の画像、犯人かのフラグなどは全て可変で
宴エクセルから変更可能です。

必要なパラメーターテーブル
犯人当て用の概要パラメーターテーブル
HanninHitOverviewTbl{}


CharaNumが犯人当てに表示するキャラ数

犯人当て詳細パラメーターテーブル
HanninHitDetailTbl{}


IsHanninがTrueが犯人です。
パラメーターテーブルを2つに分けることで入力内容をシンプルにしています

Unityインスペクターの設定例です


スクリプトは以下です。

HanninHitController.cs (11.02kB)

ダウンロード

特に難しい処理は入れてないですが
正解判定を
宴から取得したリスト
犯人フラグ配列(HanninHitArray)と
ユーザー入力配列HanninHitUserArrayの比較を行ってます。
スクリプト箇所は、ResultHanninHitです。
これで仮に犯人が0でも全員犯人でも対応可能(なはず)です。


    public void ResultHanninHit()
    {
        //正解判定
        bool IsCorrect = true;
        for (int i = 1; i < HanninHitArray.Length; i++)
        {
            if (HanninHitArray[i] != HanninHitUserArray[i])
            {
                IsCorrect = false;
                break;
            }
        }

        if (IsCorrect)
        {
            Debug.Log("正解");
            Success();
            
        }
        else
        {
            Debug.Log("不正解");
            Failed();
        }

    }

他には
Unity grid layout group
をキャラボタンの親オブジェクトに配置している為
キャラ数が多くなっても綺麗に配置される想定です。

本日は以上となります。良さそうな演出ができたら
また記事を書きます。
宴4は以下です。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

yosita/たんすかい 2023/12/03 10:41

冬コミ受かりました&頒布作品について

冬コミ(C103)受かりました!

参加情報
日時:12月31日(日)
スペース:東R_17ab です。
webカタログは下記です。
https://webcatalog.circle.ms/Circle/18007237

頒布物ですが
開発中の探偵のすすめ推理x脱出ゲームの体験版(新作)
探偵のすすめシリーズセット(既刊作)
の予定です。

新作については体験版になります、すいません。。
完成版のリリースはクオリティ及びボリューム等を考慮して
2024年夏目標とさせてください。

なお、冬コミで頒布予定の体験版は後日ダウンロード頒布予定です。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

yosita/たんすかい 2023/08/24 19:45

冬コミ申し込みしました

今年の冬コミ(C103)申し込みしました。


日程ですが、2023年12月30日(土)~31日(日)の予定です。
当落次第ですが、現在開発中の「探偵のすすめ」シリーズの新作を頒布予定です。
よろしくお願いします。

1件のチップが贈られています

チップを贈るにはユーザー登録が必要です。チップについてはこちら

yosita/たんすかい 2023/06/25 16:36

「Camera Filter Pack」を宴シナリオから制御する方法

本日はカメラエフェクトを利用できるUnityアセット
「Camera Filter Pack」を宴シナリオから制御する方法を紹介します。
演出例は以下です。(雨のエフェクトです)

Camera Filter Packと宴の初期インストールなどは
割愛します。
Camera Filter Packと宴は以下です。

宴の設定としては、
Cameras>SpriteCamera>SpriteCameraに
Camera Filter Packのスクリプトをアタッチすれば
演出として使えます。
宴のSendMessageByName受け取り用の
オブジェクトとしてRecieveUtageCameraFilterの空オブジェクトを作成し、今回作るスクリプトをアタッチします。

スクリプト例は以下です。(上手く貼り付けできなかったのでスクリプトはダウンロードできます)


public void RainFilter()
{
    UtageCamera.gameObject.AddComponent<CameraFilterPack_Atmosphere_Rain_Pro_3D>();
}

public void RainFilterOff()
{
    UtageCamera.GetComponent<CameraFilterPack_Atmosphere_Rain_Pro_3D>().enabled = false;
}

RecieveUtageCameraFilter.txt (515.00B)

ダウンロード

宴のExcel記述はCommand,SendMessageByName
Arg1,RecieveUtageCameraFilter
Arg2,RainFilter

終了は
Command,SendMessageByName
Arg1,RecieveUtageCameraFilter
Arg2,RainFilterOff

今回の例はCamera Filter Packのスクリプトを直接スクリプトを指定しています。
数が多い場合は工夫は必要そうです。
説明は以上となります。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

記事を検索