//tips
リモートワーク課題の1つの解決策として注目されているVRオフィス事業は面白いが、VR機器を利用すると、費用がかかる上、使いづらいと思う。現状PCおよびスマホで一番機能する形がベスト。
米国のバーチャルコワーキングスペース「Immersed」
・Immersed
https://immersedvr.com/
シアトルのIT企業が提供する「rumii」
・rumii
https://www.dogheadsimulations.com/rumii
株式会社SynamonによるVRコラボサービス「NEUTRANS BIZ」
・NEUTRANS BIZ(国内事例:ロゼッタ)
https://neutrans.space/
探していたら面白いサービスを見つけた。
https://signal.diamond.jp/articles/-/358
HP:https://www.opsion.jp
クラウドオフィス「RISA」:https://risa.ne.jp
//キャラクター攻撃モーションのRPC伝達
現在、キャラクターシーンのみにダメージのコライダー判定が生じるようになっているので、キャラクターの動作を決めるEnvPlaymove5photon スクリプトを修正し、キャラクターのシーン以外にもコライダーの判定を発生させるようにRPCを組み込む。下記の形に修正を行った。
IEnumerator WaitAnimationfin()
{
photonView.RPC(nameof(AttackColliderDamage), RpcTarget.All);
yield return new WaitForSeconds(0.2f);
photonView.RPC(nameof(AttackColliderDamage), RpcTarget.All);
}
[PunRPC]
void AttackColliderDamage()
{
SphereCollider rightfootcollider = rightfoot.GetComponent<SphereCollider>();
if(rightfootcollider.enabled == false)
{
rightfootcollider.enabled = true;
}
else
{
rightfootcollider.enabled = false;
}
}
コライダーの表示・非表示部分を攻撃するキャラクターのメインシーンから他のシーンに伝達する。
これにより無事ゴーレムの生成シーン以外のキャラクター攻撃でもゴーレムに攻撃が入るようになった。
//photonでの通信速度を増加させる
Photonanimationでの同期遅延のためか、移動中の際、同期先シーンではアニメーションが発生せず、棒立ちのまま移動してしまう現象が起きているので通信速度の増加で同期スピードを上げられないか検討する。
PhotonNetwork.SendRate、PhotonNetwork.SerializationRateでオブジェクト同期の頻度を調整できるという内容は発見したが、それがPhotonAnimatorViewに対応しているとは記載がないので、調べていくと、PhotonAnimatorViewではtriggerでのアニメーションの切り替えには対応できないようでboolでうまく保管してあげる必要があることが下記記事からわかってきた。
https://qiita.com/toRisouP/items/72c8950b53f79fadc4af
https://qiita.com/iriya0624/items/898e78158ded1fa09c5e#%E3%83%97%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%E3%82%AD%E3%83%A3%E3%83%A9%E3%82%AF%E3%82%BF%E3%83%BC%E3%81%AE%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%90%8C%E6%9C%9F
https://doc-api.photonengine.com/ja-jp/pun/current/class_photon_animator_view.html#aa061f0b6fb761c3da8635b9ce7e85c8b
今回はわかりやすいので、Triggerで制御し、アクション情報をBoolで同期するという方法を採用する。