投稿記事

yosita/たんすかい 2023/08/05 13:43

夏コミ(C102)お品書きなど

夏コミ(C102)関連の告知となります。
日時 2日目の8月13日(日)
スペース 西い27aです。
webカタログ

頒布作品は、既刊のみですが
探偵のすすめ先生は犯人?!編(C100での新刊)
探偵のすすめ碧色の洞編
探偵のすすめコレクションズ
です。

既刊のみですがお立ち寄りいただけると幸いです!
間に合えそうであれば+アルファの何か持っていきます。
よろしくお願いします!

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

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

yosita/たんすかい 2023/07/18 21:01

【脱出ゲーム】Unity簡易スライダーギミックの実装と宴連携

本日は脱出ゲームで使えそうな
Unityの簡易スライダーギミックの実装例です。
開発中の為、ギミックを解くと人形が獲得できるようになっています。

ギミックの解答とキャラの会話は全て宴から取得しています。
開発中の為、演出などは一部調整中です。

基本的にUIの設定は割愛しますがUnityのスライダーをほぼ初期設定で使っています。
Handleのアイコンは素材を設定しています。
inspectorの設定例です。


動画のように4つのスライダーをそれぞれ用意しています。
左から1、2、3,4のスライダー値を赤、黄色、オレンジ、紫、の4つのスライダーで持っています。
そして、スライダーのOn Value Changeで都度スクリプトを実行させて値を確認し、判定させています。スクリプトは以下です。
    [SerializeField] Slider slider0;//red
    [SerializeField] Slider slider1;//yellow
    [SerializeField] Slider slider2;//orange
    [SerializeField] Slider slider3;//purple
    [SerializeField] GameObject sliderGroup;
    public void SliderGetValue()
    {
        //SLiderGroup0
        //SLiderGroupのnameでいくつ目のSliderGimmicKかを判定
        int SliderGimmickNum = int.Parse((sliderGroup.name).Substring(11, 1));

        //宴から回答を取得
        string Answer = EscapeParamUtageGet.instance.SliderGimmickAnswer(SliderGimmickNum);
        Debug.Log("答え"+ Answer);

        int Anser0Int = int.Parse((Answer).Substring(0, 1));
        int Anser1Int = int.Parse((Answer).Substring(1, 1));
        int Anser2Int = int.Parse((Answer).Substring(2, 1));
        int Anser3Int = int.Parse((Answer).Substring(3, 1));

        if (slider0.value == Anser0Int && slider1.value == Anser1Int && slider2.value == Anser2Int && slider3.value == Anser3Int)
        {
            //正解
            Debug.Log("正解");
            GimmickSucess();

        }
        else
        {
            Debug.Log("不正解");
            GimmickFailureScenario();
        }

    }

宴からは下記関数でスライダーギミックの解答を取得しています。

    public string SliderGimmickAnswer(int SliderGimmickNum)
    //SliderGimmickの答えを返す
    {
        //SliderGimmick0_Answer"
        string Answer =
        Engine.Param.GetParameterString("SliderGimmick" + SliderGimmickNum+ "_Answer");

        return Answer;

    }

宴の設定値ですがParamシートの指定は下記です。


答えは2344です。 SliderGetValueの中のint.Parseで
「2」(赤)「3」(黄色)「4」(オレンジ)「4」(紫)の解答として
IF文判定しています。宴を除ければ基本的にはスライダーのsliderxx.valueで
値を取得しているだけなのでかなりシンプルにスクリプトを書けます。

ギミック正解、不正解時にシナリオを再生させていますが
そちらは別の機会に紹介します。

宴のアセットは下記です。

本日は以上となります。少しでも参考になれば幸いです。

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

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

yosita/たんすかい 2023/07/02 12:02

宴から日時場所のUIを制御する方法

今日は宴から日時場所のUIを表示する方法を紹介します。


上記スクショの左上が該当の箇所です。
ミステリー推理ゲームだと日時や場所の表示が頻繁に必要な為、
シナリオ内(キャラのセリフや地の文)ではなくシステムとして表示させています。
4月5日が日時、駅前が場所の例です。
宴公式サイトのSendMessageByNameの使い方を参考にしています。

①専用のUIを設定します。


TimePlaceUIが日時場所のUIのオブジェクトです。
画像とテキストのオブジェクトなどを設定します。
Canvas-System UIの配下に設定しています。
②スクリプトを作成します。(UtageTimePlaceController.csとしました)
void ShowTimePlaceUI(AdvCommandSendMessageByName command)
{
    TimeText.text = command.ParseCellOptional<string>(AdvColumnName.Arg3, "arg3");// 日時を入れる
    PlaceText.text = command.ParseCellOptional<string>(AdvColumnName.Arg4, "arg4");// 場所名を入れる
    TimePlaceUI.SetActive(true);
}
void HideTimePlaceUI()
{
    TimeText.text = "";
    PlaceText.text = ""; 
    TimePlaceUI.SetActive(false);
}

UtageTimePlaceController.txt (931.00B)

ダウンロード

スクリプトは添付しています。

③SendMessageByName用のオブジェクトを作成します。

④RecieveUtageTimePlaceUIのオブジェクトに①のUIオブジェクトとテキストを設定します。
RecieveUtageTimePlaceUIは常にアクティブにする必要があります。

⑤宴のマクロを設定


マクロの設定は任意ですが宴のシナリオ内の可読性を上げる為に
マクロ化を推奨します。
⑥シナリオ内で呼び出します。

宴のExcel記述は
Command,時間場所表示
Arg1,4月5日14時
Arg2,駅前
表示終了は
Command,時間場所非表示
とかなりシンプルにしています。

宴のアセットは下記です。

本日は以上となります。少しでも参考になれば幸いです。

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

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

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のスクリプトを直接スクリプトを指定しています。
数が多い場合は工夫は必要そうです。
説明は以上となります。

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

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

yosita/たんすかい 2023/06/18 23:23

現在開発中の「探偵のすすめ」最新作推理x脱出ゲームの概要

現在開発中の「探偵のすすめ」最新作推理x脱出ゲームですが

メインキャラは、高見映司と藤原美貴が視点キャラです。

より謎解き要素が増えます!


画面は暗号解読のようなものです。


そして吉里吉里時代に少しだけ実装していたLine風メッセージ画面などもあります!

もちろんノベルゲーム要素もあり

もちろん、Unity宴での開発になりますので
iPhone、Androidでのリリース予定です。

リリースは2023年内を目指していますのでもう少しお待ちいただけると幸いです。

本日は以上となります。

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

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

1 2 3 4

月別アーカイブ

記事を検索