//tips
//photonにおけるUI表示の調整
キャラクターの人間用のUI/人狼用のUI表示の切り替え機能を実装していく。
キャラクターUIを人間用/人狼用の2パターンに増やし、human/wolfタグをつける。CharaUIchange2スクリプト に下記を加える。
public void Humanoff()
{
childobject = GameObject.FindWithTag("human");
childobject.SetActive(false);
}
public void Wollfoff()
{
childobject = GameObject.FindWithTag("wolf");
childobject.SetActive(false);
}
さらに、photoncountスクリプトの方に
IEnumerator Turnoffhuman()
{
yield return new WaitForSeconds(2);
charaUIchange2.Humanoff();
}
IEnumerator Turnoffwolf()
{
yield return new WaitForSeconds(2);
charaUIchange2.Wollfoff();
}
を追加。
human/wolfタグはキャラクターUIにしか使用しないのでFindWithTagでうまくgameobjectを取得できるはず。
キャラクターとロールに応じて適切なUIを表示させることができた。
//ScriptがアタッチされているSceneの検索
シーンをplayたびにエラーとして表示されるスクリプトがあったので、そちらのスクリプトを確認した。
エラーから該当スクリプト名はわかったもののアタッチされているオブジェクトが見つからず難渋したが、調べたいScript上で右クリックすることでFind References In Sceneというスクリプトが使われているシーンを写し、関連するオブジェクトを表示してくれる機能を利用したところ、アタッチされているがチェックが外され使用されていないスクリプトでエラーが起きていることがわかった。
使用しなくなったスクリプトはインスペクターから積極的に削除した方がいいかもしれない。
//生成プレイヤーの機能整備
生成プレイヤーにHPUI/各種アクションUIを実装していく。
まずはHPUIから始める。prefab化してあったHPUIprefabをrabbitの子要素にし、HPSciptをrabbitにアタッチする。
HPUIprefabのcanvasにmay not register UI events correctlyとのwarningが出るがHPステータスとして使用する分には特に問題なかった。
アタックモーションをさせたかったが、rabbitのパッケージの中に該当するモーションがなかったのでassetstoreからFighting Motionをインポート。ボーンベースでアクションをさせているならもしかしたら、使用できるかもしれないので確認。
複製したアニメーションをanimatorに設定し、ボタンクリックによるtriggerで実行させてみたら、きちんと動作した。
ただ、rabbitの体のパーツを確認するとコライダーがついていないので当たり判定を実装するには、アクションと連動して発生するコライダー領域で当たり判定を接触相手に与える必要がある。
これは複数の相手にダメージを与える必要はないので以前作成した範囲コライダーのレイは使わずに、EventTriggerで対応していく。つまり、コライダーに接触したうちの一人にダメージを与えれば良い。