カメラについて

26 views
Skip to first unread message

トラキ

unread,
Aug 25, 2025, 9:57:17 PMAug 25
to 宴ユーザーグループ
 宴のバージョン:宴4.2.1 
UnityのバージョンとOS:Unity 6000.0.44f1 Windows10

こちらはCinemachineを組み合わせてゲームにさまざまなカメラワーク効果を制作していますが、その上でutageを使用しようとすると少し困難が生じています。

UIインターフェースをoverlayに変更してみましたが、正常に表示されるもののマウスクリックの効果が無効になります。また、letterboxcameraを Cinemachine の カメラに適用してみましたが、効果がないようです。

ゲーム内には依然として長い伝統的なビジュアルノベルコンテンツが存在するため、utageの使用を諦めたくありません。ですので、utageのカメラシステムを使用しない場合、どのような結果が生じるのか知りたいです。

あるいは、特定の部分で自作の会話システムを採用した場合、それをutageの音量調節、文字速度調節および履歴記録システムと組み合わせる方法はありますか?

マッドネスラボ

unread,
Aug 25, 2025, 11:16:46 PMAug 25
to 宴ユーザーグループ
すみません。宴の設定のことなら推測できるのですが、
独自プロジェクトの設定と宴の設定が混じっていると、どっちの話なのか、どう干渉しているのかを予測しつつの返答になりますので、正確にはお答えできません。

>UIインターフェースをoverlayに変更してみましたが
プロジェクト独自UIのCannvasのRender Modeの設定を ScreenSpace-Overlay にしたということですか?

>正常に表示されるもののマウスクリックの効果が無効になります
これは、メッセージ読み進めのためのクリックのことですか?
(overlayにしたUIへのクリックや、宴のその他のUIや選択肢などへのクリックではなく)

overlayは「常に最前面」になるので、透明なImageなどを置いたりしてそれがoverlayになっていると、そちらに当たり判定がとられてしまうと思います。
まずは、どのクリックでどのUIが当たり判定にぶつかっているのかを調べてください。
overlayでも使えるかはわからないですが、 EventSystem の Inspector の Preview などでけっこう情報が出てくると思います。

メッセージ読み進みのためのクリックは、少し特殊な処理をしています。
詳しくはこちらを参考にしてください。判定の仕方を独自にカスタムすることも可能です。

>letterboxcameraを Cinemachine の カメラに適用してみましたが、効果がないようです。
レターボックス機能や、ZoomCameraコマンドのために、カエラの位置(localpostion)やビューポート(rect)、表示倍率(orthographicSize)はLetterboxCameraのほうで上書きしています。(RefreshCameraメソッド内)
単純に値が上書きされてしまうのが原因なのであれば、次のようにしてください
  • 移動だけであれば、その一つ上の同名の親オブジェクト(CameraRootコンポーネントがあるほう)を移動する
  • または、LetterboxCameraコンポーネントのenabledをオフにしてUpdateを止めてしまう
    • ただし、この場合宴の LetterboxCameraカメラ制御ができなくなるので、副作用については宴側ではフォローできません。
      • カメラ系のコマンドや、実行中に画面サイズが変わったときに自動的に補正する機能などが動かなくなります

>utageのカメラシステムを使用しない場合、どのような結果が生じるのか知りたいです。
基本的には宴のカメラが固有に行っているののは、レターボックス(描画範囲を固定する)という処理のためのものです。
ただ、それは結果的にカメラ関係のコマンド(イメージエフェクト、フェード関係、カメラズーム)と、画面キャプチャ処理に影響していますし、
letterboxcameraコンポーネントを目印にして、オブジェクトの描画位置などを参照することもあり、けっこうあちこちで使っています。
なので、基本的には使用しないことは想定してないです。
ただ、Unityのカメラの仕組みから大きく逸脱しているわけではないです。 ネックになるのは、上記のUpdateで毎回上書きされてしまう部分かと思います。
描画順などは、Unityの仕組みに従います。(具体的な設定は、描画パイプラインがビルトインかURPかで違いますが、Unityの仕様通りのはずです)

>特定の部分で自作の会話システムを採用した場合、それをutageの音量調節、文字速度調節および履歴記録システムと組み合わせる方法はありますか?
組み合わせるパターン次第になります
  • 自作の会話システムにある同じような設定値やデータを宴側の値に設定する(またはその逆)
    • 音量調節、文字速度調節
      • 宴のAdvConfigコンポーネントで該当する値をgetまたはsetすれば可能だと思います。
    • 履歴記録システム
      • AdvBacklogManagerコンポーネントの、Backlogs以下にログの情報があるので、それを自作の会話システムに渡すのはできると思います。
      • 自作の会話システム側のログを、宴の AdvBacklogManagerに渡すのは
        • 内部的には宴の独自クラスを多用してるので、そのクラスインスタンスを作って渡せる形に拡張すれば可能だと思います
      • それでもかみ合わない部分は出てくると思います。  
        • たとえば、バックログからのボイス再生の際にそのボイスファイルは独自形式ではどう呼び出せばいいのかといった部分
        • 独自システム固有の情報を扱う必要がある場合
  • 自作の会話システムにその仕組みがないのを、宴の機能の一部だけ抜き出して使うモジュール的な話なのであれば
    • 基本的には無理です
    • サウンドだけであれば宴のサウンドマネージャーを使うようにすればできなくはないかもしれません。


2025年8月26日火曜日 10:57:17 UTC+9 asd65...@gmail.com:

マッドネスラボ

unread,
Aug 25, 2025, 11:26:19 PMAug 25
to 宴ユーザーグループ
>overlayでも使えるかはわからないですが、 EventSystem の Inspector の Preview などでけっこう情報が出てくると思います。
すみません。これは旧InputManagerのみ使用しているプロジェクトじゃないと細かい情報がでないかもしれません。
クリックに反応しない場合は、こちらなども参考にしてみてください。
https://shibuya24.info/entry/unity-ui-button-trouble



2025年8月26日火曜日 12:16:46 UTC+9 マッドネスラボ:

トラキ

unread,
Aug 26, 2025, 2:20:44 AMAug 26
to 宴ユーザーグループ

ご丁寧なご返信ありがとうございます。これらの内容を参考に、さらに調べていきます。

 

プロジェクト独自UICannvasRender Modeの設定を ScreenSpace-Overlay にしたということですか?

 

はい、ScreenSpace-Overlayに変更しました。では、ScreenSpace-Cameraの場合は状況が異なるのでしょうか?

 

これは、メッセージ読み進めのためのクリックのことですか?

 

はい、バックログも正常に表示されますが、オプションやシステム設定の機能についてはまだ試していません。(マウスクリックが使用できないため、直接Enterキーで会話を進めることができます)

 

letterboxcameraCinemachine の カメラに適用してみましたが、効果がないようです。

問題は、Cinemachineが作成するCinemachineCameraが「カメラ」として認識されていないことだと思います。この点についても引き続き自分で調べてみます。

 

改めて詳細なご回答をありがとうございます!

マッドネスラボ

unread,
Aug 26, 2025, 7:48:12 AMAug 26
to 宴ユーザーグループ

> はい、ScreenSpace-Overlayに変更しました。では、ScreenSpace-Cameraの場合は状況が異なるのでしょうか?

ScreenSpace-Overlayは最前面の描画となるのでその点が注意が必要かもしれません。そのつもりで使っているのであれば特に問題ないと思います。



2025年8月26日火曜日 15:20:44 UTC+9 asd65...@gmail.com:
Reply all
Reply to author
Forward
0 new messages