Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 /
  • Help Room /
This question was closed Jan 18, 2017 at 03:06 PM by flammen_schwert for the following reason:

The question is answered, right answer was accepted

avatar image
0
Question by flammen_schwert · Jan 17, 2017 at 08:22 PM · c#networkspawnclient

Unity Networking: Client spawning and controlling objects

Hi!

I'm stuck on this problem for days and can't figure out a solution...

My project has player objects with scripts which access the webcam, track features and instantiate spheres for the tracked points. Locally I instantiate these spheres on an image of the webcam texture to show the found features. Now I need to alter it to work as a LAN multiplayer so that all connected clients can see the tracked points of each player. I can simply NetworkServer.Spawn(obj) the spheres from my host which is than seen on the clients but can't find a solution for my clients.

What I want to achieve is: Spawn each sphere and still have an array with references to them on my client to change their position in another script which access the array named points in this script.

void Start () { points = new GameObject[FaceFeatureCount];

     for (int i = 0; i < points.Length; i++) {
         GameObject sphere = Instantiate(spherePrefab);
         if (FaceRoot)
         {
             sphere.transform.parent = FaceRoot.transform;
             sphere.transform.position = FaceRoot.transform.position;
         }
         else
         {
             sphere.transform.parent = transform;
             sphere.transform.position = transform.position;
         }
         sphere.transform.localScale = FeatureSize;
     FaceRoot.transform.localScale += new Vector3(0.02f,0.02f,0.02f);
         sphere.GetComponent<MeshRenderer>().enabled = true;
         NetworkServer.Spawn(sphere);
         //CmdSpawn(sphere);
         points[i] = sphere;
     }
 }

 [Command]
 private void CmdSpawn(GameObject go)
 {
     //GameObject sphere = (GameObject)Instantiate(spherePrefab, transform.position, transform.rotation);
     NetworkServer.Spawn(go);
 }

 public GameObject[] getFeatures(){
     return points;
 }

I'm hoping someone can help me :-(

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

1 Reply

  • Sort: 
avatar image
0
Best Answer

Answer by flammen_schwert · Jan 18, 2017 at 03:06 PM

I have fixed it myself today. If somebody stumbles upon this question while experiencing the same problem here is my solution: I call CmdSpawnSphere(i); in my start loop and for (int i = 0; i < points.Length; i++) CmdPositionSphere(i, points[i].transform.position); in my update.

The performance is enough for my project. The commands do the following:

     [Command]
     private void CmdPositionSphere(int number, Vector3 position)
     {
         string name = "FaceSphereID" + netId + "No" + number;
         GameObject sphere = GameObject.Find(name);
         sphere.transform.position = position;
     }
 
 [Command]
     private void CmdPositionSphere(int number, Vector3 position)
     {
         string name = "FaceSphereID" + netId + "No" + number;
         GameObject sphere = GameObject.Find(name);
         sphere.transform.position = position;
     }

Note that in my case another class updated the transforms of the points list.

Comment
Add comment · Share
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

Follow this Question

Answers Answers and Comments

307 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 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 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 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 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 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 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 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 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 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 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 avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

How do i respawn after the player dies ? 3 Answers

SyncVar works not always 0 Answers

What's the [command] attribute with the new Network Manager? 0 Answers

NullReferenceException at adding a NetworkTransformChild component 1 Answer

Object spawn rotation 2 Answers


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