Photon для автономной синхронизации UnityC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Photon для автономной синхронизации Unity

Сообщение Anonymous »

Вот мой код игрока

Код: Выделить всё

    public Rigidbody rb;
public MachineGun MG1;
public WeaponRays wr;
Vector3 Realpos = Vector3.one;
Quaternion Realrot = Quaternion.identity;
public Animator anim;
// Use this for initialization
void OnEnable() {
anim = GetComponent();
wr = GetComponent ();
MG1 = GetComponentInChildren ();

if (photonView.isMine) {
MG1.enabled = true;
cym = GetComponentInChildren ();
cym.enabled = true;
myCam.SetActive (true);
rb = GetComponent ();
} else if (!photonView.isMine) {
rb = GetComponent ();
Destroy (myCam);
cym = GetComponentInChildren ();
Destroy (cym);
}
Debug.Log ("is true");
}
public void Update(){
if (photonView.isMine) {

}else{
transform.position = Vector3.Lerp(transform.position, Realpos, 0.1f);
transform.rotation = Quaternion.Lerp (transform.rotation, Realrot, 0.1f);
}
}
public void OnPhotonSerializeView (PhotonStream Stream,PhotonMessageInfo info){
if (Stream.isWriting) {
Stream.SendNext (transform.position);
Stream.SendNext (transform.rotation);
Stream.SendNext (rb.velocity);
Stream.SendNext (anim.GetBool("Walking"));
Stream.SendNext (anim.GetBool("Jumping"));
Stream.SendNext (anim.GetBool ("MACHINEGUN"));
}else{
Realpos = (Vector3)Stream.ReceiveNext ();
Realrot = (Quaternion)Stream.ReceiveNext ();
rb.velocity = (Vector3)Stream.ReceiveNext ();
anim.SetBool ("Walking", (bool)Stream.ReceiveNext ());
anim.SetBool ("Jumping",(bool)Stream.ReceiveNext());
anim.SetBool ("MACHINEGUN", (bool)Stream.ReceiveNext ());
}
}
}
По сути, все, что я хочу, это понять, как работает rpc и как я могу, например, купить шляпу и использовать rpc только сам.

вот мой код для повреждения HP

Код: Выделить всё

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class WeaponRays : Photon.MonoBehaviour {
public float Hp;
public Text HealthTxt;
public MachineGun Mg;
// Use this for initialization
void Start () {
Hp = 100f;
Mg = GetComponentInChildren ();
HealthTxt = GameObject.Find ("HealthTxt").GetComponent ();
}

// Update is called once per frame
void Update () {
if(Input.GetButtonDown("Fire1") && photonView.isMine){
Debug.Log ("Shoot");
RaycastHit hit;
if (Physics.Raycast (Camera.main.transform.position, Camera.main.transform.forward, out hit, Mathf.Infinity)) {
if (hit.collider.tag == "Player") {
var p = hit.collider.GetComponent ();
p.RPC ("hit", PhotonTargets.Others, 10);
} else {

}
}
}
}
[PunRPC]
void hit(int Dam){
Hp += -Dam;
HealthTxt.text = "HP:" + Hp;
}
}
tldr, как я могу заставить моего игрока показывать свою систему частиц в функции удара (которая работает) и синхронизировать ее. Мне
просто нужна помощь в понимании рабочего процесса. это так сбивает с толку.

Подробнее здесь: https://stackoverflow.com/questions/352 ... alone-sync
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему в каламбуре Photon in unity нет синхронизации?
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • В Unity, как проверить количество игроков в комнате в Photon Pun?
    Anonymous » » в форуме C#
    0 Ответы
    47 Просмотры
    Последнее сообщение Anonymous
  • Изменение скорости игрока приводит к резким движениям в многопользовательской игре Unity Photon Fusion.
    Anonymous » » в форуме C#
    0 Ответы
    40 Просмотры
    Последнее сообщение Anonymous
  • Unity Photon Pun 2 Проблема с RPC
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Unity Photon Fusion 2.0 Network Transform, выпуск
    Anonymous » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»