- Home /
Help with PUN PhotonNetworkView stuff.
Trying to make an fps. Now I have the player working. Can spawn in, be seen on other computer's game clients. But the FPS Arms and weapon, and bullets are not showing up for other players. Each user's FPS arms, weapon, and bullets show on their own screen but no one else's. How do I fix this? The player is made up of a FirstPersonController (Unity's free prefab) This is the parent. And has a PhotonView Script, and a NetworkCharacter script which I will post below. Then a MainCamera gameobject which has 2 child gameobjects. BerettaFPSArms, and M16FPSArms. They each have several children gameobjects.
What I need to know is why the BerettaFPSArms, and the M16FPSArms are not showing up on other players screens. Since they are children of the player. And the player has a PhotonView Script attached. Do they need a PhotonView aswell? Each individual child? or just the weaponArms objects?
using UnityEngine;
using System.Collections;
public class NetworkCharacter : Photon.MonoBehaviour {
Vector3 realPosition = Vector3.zero;
Quaternion realRotation = Quaternion.identity;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if( photonView.isMine ) {
// Do nothing -- the character motor/input/etc... is moving us
}
else {
transform.position = Vector3.Lerp(transform.position, realPosition, 0.1f);
transform.rotation = Quaternion.Lerp(transform.rotation, realRotation, 0.1f);
}
}
public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) {
if(stream.isWriting) {
// This is OUR player. We need to send our actual position to the network.
stream.SendNext(transform.position);
stream.SendNext(transform.rotation);
}
else {
// This is someone else's player. We need to receive their position (as of a few
// millisecond ago, and update our version of that player.
realPosition = (Vector3)stream.ReceiveNext();
realRotation = (Quaternion)stream.ReceiveNext();
}
}
}
Answer by renegreg · Apr 22, 2014 at 05:24 PM
void Shot(){
PhotonNetwork.Instantiate(Bullet.name,transform.position,transform.rotation,0);
}
Your answer
Follow this Question
Related Questions
How can I instantiate different prefabs for owner and proxy using photon? 2 Answers
Handle device offline status 0 Answers
PhotonView question 1 Answer
Cam Prefab not showing anything with Photon 0 Answers
Add force to bullet in the network 3 Answers