Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Fetdressing · Oct 04, 2014 at 11:41 AM · photoncharactermotorfirstpersoncontroller

Photon First Person Controller

Hello!

I am trying to make a FPS multiplayer game using Photon but I am getting a problem trying to receive the CharacterMotor script (so that I call the .canControl = false so other players can't control my player and vice versa) which is in java/unityscript and I am writing this code in c#. I have understood that this probably is the problem and I have red about this in so many forums and tried moving the CharacterMotor script to other folders to make it compile first but it just won't work. Atm the other players just keep jumping to a fixed point ((0,0,0) I think) all the time and I believe it's because the CharacterMotor is still active on other the other players. Any help would be much appreciated as I am almost starting to pull my hair out over this. Thanks in advance! :)

Here is the code:

 using UnityEngine;
 using System.Collections;
 
 public class FirstPersonNetwork : Photon.MonoBehaviour {
     private MouseLook cameraScript1;
     private MouseLook cameraScript2;
     private CharacterMotor ControllerScript; //Can't find it here
     private Transform thisTransform;
     private GameObject thisObject;
     private GameObject camera;
 
     void Awake(){
         thisTransform = this.gameObject.transform;
         thisObject = this.gameObject;
         camera = thisTransform.FindChild("Main Camera").gameObject;
 
         cameraScript1 = thisTransform.GetComponent<MouseLook> ();
         cameraScript2 = camera.transform.GetComponent<MouseLook> ();
         ControllerScript = thisTransform.GetComponent<CharacterMotor> ();
 
         if (photonView.isMine) {
             camera.camera.enabled = true;
             camera.GetComponent<AudioListener>().enabled = true;
             cameraScript1.enabled = true;
             cameraScript2.enabled = true;
             ControllerScript.canControl = true;
         }
 
         else{
             camera.camera.enabled = false;
             camera.GetComponent<AudioListener>().enabled = false;
             cameraScript1.enabled = false;
             cameraScript2.enabled = false;
             ControllerScript.canControl = false;
         }
 
         thisObject.name = thisObject.name + photonView.viewID;
 
 
     }
     void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info){
         if (stream.isWriting) {
             stream.SendNext(transform.position);
             stream.SendNext(transform.rotation);
         }
         else{
             correctPlayerPos = (Vector3)stream.ReceiveNext();
             correctPlayerRot = (Quaternion)stream.ReceiveNext();
 
         }
     }
 
     private Vector3 correctPlayerPos = Vector3.zero;
     private Quaternion correctPlayerRot = Quaternion.identity;
 
     void Update(){
         if (!photonView.isMine) {
             thisTransform.position = Vector3.Lerp(thisTransform.position, correctPlayerPos, Time.deltaTime * 5);
             thisTransform.rotation = Quaternion.Lerp(thisTransform.rotation, correctPlayerRot, Time.deltaTime * 5);
         }
     }
 }
 
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

27 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Photon - Show player names. 1 Answer

Getting an "Unknown Resolve Error" with Photon.MonoBehaviour 1 Answer

Game object not Synced across Network 0 Answers

Handle device offline status 0 Answers

Photon network doesn't call RPC/OnPhotonSerializeView 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges