1

趣味でサッカーの試合をしようと思ったのですが、問題が発生しました

void OnTriggerStay(Collider other)
{
    if (other.tag == "BallTAG")
        RpcAddForceToBall(other.gameObject);

}
[ClientRpc]
public void RpcAddForceToBall(GameObject hit)
{
        if (Input.GetButton("Drag"))
        {
            hit.GetComponent<Rigidbody>().AddForce((movement * 200) * Time.deltaTime);
        }
        if (Input.GetButtonDown("Shoot"))
            hit.GetComponent<Rigidbody>().AddForce((new Vector3(movement.x, 0.60f, movement.z) * 2000 * PlayerCC.velocity.magnitude) * Time.deltaTime);
    }
}

ホストはドラッグまたはシュートできますが、クライアントはボールに何かをすることはできません. しかし、もし私がそれを好きなら

void OnTriggerStay(Collider other)
{
    hit.GetComponent<Rigidbody>().AddForce(10,10,10);
    if (other.tag == "BallTAG")
        RpcAddForceToBall(other.gameObject);

}

クライアントは強制的にボールを打つことができます

また、私もそうします

void OnTriggerStay(Collider other)
{
    Debug.Log("Entered");
    if (Input.GetButton("Drag"))
        Debug.Log("Dragging");

}

クライアントで Entered を印刷できますが、ドラッグはホストではありません。両方を印刷できます。

それを修正するにはどうすればよいですか?

4

0 に答える 0