杏仁みかん 2021/07/18 20:50

ProCamera2Dについて詳しい方いらっしゃいますか?

本作では、ProCamera2DというUnityのカメラ用アセットを使用しているのですが、BoundariesTriggerのルールがイマイチ不明な点があり、どう組み込むか悩ましい部分がございます。
しかもこのアセット、紹介等は情報サイトで掲載されていても、使用方法や説明の詳細が不十分で、日本語圏で使っている方のブログが少なくて困っています。(Wikiとかあってもいいレベル)

もし「自分も使ってるよ!」って方で以下の対策法について詳細をご存じの方、プランに関係なく募集しますので遠慮なくコメント戴ければと思います。

🐾最初に、色々検証しました。

目的:開始位置から左に移動したら壁際でカメラを止めたい。
そのためにBoundariesTriggerをマップ左側にセットしています。
また、開始位置にはRoomが設置されており、開始直後はルームに入った状態でカメラが固定されます。

この状態で左へ移動すると、画面左で止まりません。
https://twitter.com/xiao_mikan/status/1416662120066797568?s=20

Roomを切ると、ちゃんと左側で止まるようになりました。
しかし、2枚目のスクショの通り、チェックはついたままで、このままだとジャンプしてもTopやBottomの制限がかかったままだったりします。
https://twitter.com/xiao_mikan/status/1416663026636181505?s=20

そこで、右側にもう一つ設置した結果です。
https://twitter.com/xiao_mikan/status/1416664256519413764?s=20

初期位置が右側の領域に被っているため、Bottomだけがチェックされた状態で始まります。(スクショ2枚目)
そこから左の領域に入るとTopとBottomとLeftに制限がかかりますが、再び右の領域に戻るとBottomだけには戻りません。(スクショ3枚目)

ここが謎。どうやったら領域を解除出来るのか。

🐾BoundariesTriggerは単純に値を上書きしていくだけなのか

この実験のために、3種類のBoundariesTriggerを用意しました。
左端:Top:9、Bottom:-1、Left:-19、Right:なし
中央:Top:なし、Bottom:-1、Left:なし、Right:なし
右側:Top:なし、Bottom:-1、Left:なし、Right:なし(中央と同様)

まずこれで動かした結果、
https://twitter.com/xiao_mikan/status/1416721718987558912?s=20

左側に入った時に変化があったものの、中央、右側においては変化は見られませんでした。

次に、中央だけ以下のように変更。
中央:Top:9、Bottom:-1、Left:-30、Right:30
https://twitter.com/xiao_mikan/status/1416722066833739777?s=20
つまり、左右だけ拡張してみた感じです。

その結果が以下です。
https://twitter.com/xiao_mikan/status/1416722926829662211?s=20

要するに、
1、チェックが入ったものをNumericBoundariesで更新する。
2、チェックオフのものはオフで更新されない

このような結果になりました。

ところが、今度は中央だけを全チェック外した状態でやってみると、左端から中央に戻る際にチェックが全て外れるのです。
そして、右端に行くとBottomだけになり、また中央に行くとチェックが全て外れる。

……どういうこっちゃ?

🐾対策をご存じの方は教えて欲しいです。

当ゲームで使いたい用途は以下の通りです。
1、画面端や崖などのスクロールしたくない時にカメラをBoundariesTriggerで止めたい
2、イベント時や戦闘ゾーンに入った際にRoomsを使いたい
3、2の終了後にちゃんと元のBoundariesTriggerの状態に戻したい。
4、ワープ等しても正常にBoundariesTriggerを動かしたい。

ちなみに、以前作っていた「あんたーくてぃか」でも同等の問題にブチ当たりまして、ソースコードから無理やり値を設置するという荒業をやったことがありますが、本来そういうことしなくても綺麗に切り替わるアセットのはずなので、何か使用条件などがあるかなぁと思っています。

恐らくご支援戴いている方の中には、ご自身でゲームを作っていらっしゃる方もいるとは思いますが、同じ問題について何か知っていたり、対策法をご存じな方は、Ci-enのDM、ここのコメント欄、もしくはTwitter該当記事やDM等にて教えて戴けますと幸いです。

よろしくお願いします……!

🐾追記)公式フォーラムの回答などを漁ってみた

結論から申し上げますと、同様の問題を抱えた方は大勢いるというのに、作者がちゃんと対応してくれなかったみたいです。
https://twitter.com/xiao_mikan/status/1416733019914739712?s=20

https://twitter.com/xiao_mikan/status/1416733679074779136?s=20

https://twitter.com/xiao_mikan/status/1416734250833891329?s=20

これを見る限り、やはりソースコードで無理やり値を変えてくれってのがベストみたいになってますね。

やだなー……。この問題さえなければ良アセットなんですが。
引き続き、情報募集中です。


とりあえず自分の解決策見つけました。以下はプラン限定で。

↓↓↓ ここからフォロワー様限定 ↓↓↓

フォロワー以上限定無料

誰でも登録可能の無料プランです。 最新の開発記事を読むことが出来ます。

無料

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

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

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索