0 支持
2.5k 閲覧
(200 ポイント) Q&A
以下内容につきまして、親Objectのalpha値を監視して随時AdditionalColorを設定する以外の手法があればご教授ください。

Sprite Studio 6を利用しております。

Unity上でポップアップ等のUIを表示する際、親GameObjectにCanvas Groupを設定し、alpha値をトゥイーンさせてアニメーションさせる場合があります。

Unity上でUIとして扱われているTextやImageであればこの手法ですべての子オブジェクト通してalphaが適用されますが、Sprite Studio 6のアニメーションオブジェクトはUIではないため適用されません。

こちら、親Objectのalpha値を監視して随時AdditionalColorを設定する以外の手法で他UI系オブジェクトと同様にalpha値を遷移させる方法があればご教授ください。
このページをシェアする

回答 1

0 支持
(4.9k ポイント)
編集

gg三浦 様

お世話になっております。

SS6Player for Unity担当です。

> こちら、親Objectのalpha値を監視して随時AdditionalColorを設定する以外の手法で他UI系オブジェクトと同様にalpha値を遷移させる方法があればご教授ください。

先に即物的な回答をしてしまいますと……「ありません」となります。

申し訳ありません。

UI系オブジェクトは、いささかなりとuGUIの機能と密接に結びつくために設計されている(と見える)ことから、uGUIの基礎機能から直接状態を取得・反映できますが、SS6Playerの場合UIだけに限らず、通常のゲーム中オブジェクトなども扱うことも少なくない関係から、Unity上では3Dモデルなどの汎用描画オブジェクトと同様の扱いになっている部分があります。

つまり、uGUI上で扱う際には、それらの汎用描画オブジェクトと同様の取り扱いをする必要があります。

一番端的なのは、ボタンとして使用するオブジェクトにButtonコンポーネントなどを追加して・OnClickなどの関数を実装して、その中に処理(例えばアニメーションを切り替えるとか)を書く……というのが、基本になります。

※このあたりのuGUIオブジェクト自体の扱い方・UI系オブジェクト以外との連携方法は多岐にわたるので、上記の方法が唯一解ではありません。

※この実装方法になっているのは、SpriteStudioでUIパーツを作成した時に使用したい(させたい)アニメーション効果が、必ずしもuGUIの行っている標準処理の枠内に収まる可能性が高くない……と想定しているためです。

もしどうしても、uGUIが発行してくるアルファ値のトゥイーンとリンクする必要がある場合、おっしゃられている方法で何らかのUI系オブジェクトを親ないしは参照関係にすることによって、そのオブジェクトのトゥイーン値を監視して、SS6Playerアニメーションオブジェクトに設定してやる必要があります。

ご質問に対し色よい返信ができず大変申し訳ありませんが、上記のような事情がございますこと平にご理解いただきたくお願い申し上げます。

今後とも何卒よろしくお願いいたします。

(200 ポイント)
お世話になっております。

ご回答、ご説明いただきありがとうございます。

処理側で同じ値を設定させて対応しようと思います。

今後ともよろしくお願いいたします。
...