今回始めてUNETを使用して何かしらのプログラムを作ろうと考えているものです。まずは「クリックしたら操作キャラのMaterialを白から青に変更する」というものを作成したいのですが、[Command]や[RPC]がよく分からず何もできない状態です。
参考にしたサイトは
http://tips.hecomi.com/entry/2015/08/14/220030
です。
追記:
現状では下の様なプログラムを作成しているのですが、
[ClientRpc]
void RpcChangeBlue()
{
if (Input.GetMouseButtonDown(0))
{
this.GetComponent<Renderer>().material.color = Color.blue;
}
}
void Start()
{
} void Update() { Debug.Log("a"); RpcChangeBlue(); }
このプログラムでは、Host側のキャラクターの色がクリックした際に変わるだけなのと、色の変更の共有がされません。
具体的には、Host側の操作でマウスをクリックしたらHost側ではのHostのキャラクターの色がすぐに変わりますが、client側の画面では色はどちらも変わっていないように見えます。また、client側の操作でマウスをクリックしたらclient側の画面のHostのキャラクターの色が変わりますがclientのキャラクターの色は変わらないのと、Host側の画面ではHostのキャラクターは青に変化していません。
具体的にどの アトリビュートをつけた関数を使用すれば良いのでしょうか?
Q.オフラインで「クリックしたら何かする」「マテリアルの色を変える」はできてますか?
A.
if (Input.GetMouseButtonDown(0))
{
this.GetComponent<Renderer>().material.color = Color.blue;
}
このようなコードでオフラインでは実装しています
Q.参考にしたサイトで説明にあった座標の共有(他の画面で操作された他人のキャラクターを自分の画面でも見る)はできているか?
A.Transformの共有はできています。
回答1件
あなたの回答
tips
プレビュー