//tips
//キャラクター同期対応確認
下記で設定しているHPUIのバーが時々真上を向き、他のキャラクターから見えなくなる場合があったが、Camera.mainが”MainCamera" にタグ付けされている最初の有効なカメラ方向に向くためこのような現象が生じることがわかった。
void LateUpdate()
{
if (Camera.main)
{
// カメラと同じ向きに設定
transform.rotation = Camera.main.transform.rotation;
}
}
一通りキャラクターの動作をroom4から生成して確認した後は、キャラクター内部に”MainCamera" にタグのカメラを組み込んでいくことになるが、その場合に、不自然な動作にならないかは注意を払う。
Room4から入り、各キャラクターの生成と動作を確認する。
Room4からenv2シーンに遷移後にtimerが正常に作動しなかったので、確認していくと動作確認時にCharaUIchangeスクリプトなどのチェックを外していたことに気づき、修正。
Rabbitのみ攻撃判定spherecolliderのistriggerのチェックが外れていたので再設定。
一撃必殺であるUltimateのboolがうまく作動しなかったので確認。コンポーネントの取得箇所が抜けていたので追加。
public void DeerWskill4()
{
charaModeManager = myPlayer.GetComponentInChildren<CharaModeManager>();
charaModeManager.ultimateflag = true;
}
またwolfモードのクリック時にフラグの切り替えができていないのではないかと確認したが、きちんと変更コードは入っていた。
public void WolfImageonoff()
{
charaModeManager= myPlayer.GetComponentInChildren<CharaModeManager>();
charaModeManager.wolfmode = !charaModeManager.wolfmode;
Debug.Log("switchmode");
if (charaModeManager.wolfmode)
{
wolfimage.SetActive(true);
}
else
{
wolfimage.SetActive(false);
}
}
このwolfmodeがfalseになる要因は動機の問題でwolf以外のシーンではこのモード変換の情報がいっていなかった。
同期版へ修正。CharaModeManager自体をusing Photon.Pun;
を使用したphoton対応に変更する。
public void Wolfturnon()
{
photonView.RPC(nameof(DoWolfturnon), RpcTarget.All);
}
[PunRPC]
void DoWolfturnon()
{
if (wolfmode)
{
wolfmode = false;
}
else
{
wolfmode = true;
}
}
これらの形式に直したら無事にultimateスキルも認識されるようになった。
Minimapのカメラ内をよく見たらrabbitを操作しているのに中心にはdeerキャラクターが来ており、異なるカメラのrawimageを取得している。操作対象のカメラをセットし直す必要がある。
Rawimageをキャラクター設置のカメラごとに作成しないと混同してしまうのかもしれない。
ProjectビューにてCreateからRenderTextureを選択し,MinimapRを作成。RabbitのMinimapカメラのターゲットをMinimapRに変更。
さらにPCharaUIRedRabbitのMinimapimageのRawimageをMinimapRに変更。適切になった。各キャラクターのrawimageも作成して対応させた。