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 madturtle · Mar 09, 2012 at 07:43 AM · onserializenetworkviewbitstream

How does BitStream work?

I've downloaded the official Networking example.

Both non-auth server and auth server example use state synchronization to update position. And both example use this code:

 void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)
 {
     // Always send transform (depending on reliability of the network view)
     if (stream.isWriting)
     {
         Vector3 pos = transform.position;
         Quaternion rot = transform.rotation;
         stream.Serialize(ref pos);
         stream.Serialize(ref rot);
     }
 //................
 }

It work properly but I got confused. In the case of non-auth server, the program keep sending transform to server when the object is own by local client. On the other hand, auth server use the same code but it seems only when it runs as a server does the transform send.

So my question is: how does BitStream determine whether it should send information or not?

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

· Add your reply
  • Sort: 
avatar image
1

Answer by Sprite101 · May 22, 2012 at 03:18 PM

It depends on who owns the NetworkView, which is generally determined by which Network allocated the NetworkViewID or which Network called Network.Instantiate.

The owner of the NetworkView generally writes to the BitStream, while all other networked clones read from the BitStream.

Now in the case of what you're trying to do here, you can just set the NetworkView to watch the Transform of the object, which will most likely be more optimized. You could create another network view to watch the script if there's any other data that needs to be updated frequently, but RPC calls are usually sufficient.

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

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

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

Virtual Whiteboard stream writing problem 1 Answer

Mysterious OnSerializeNetworkView calls with an invalid NetworkMessageInfo.sender 1 Answer

Data Synchronization using OnSerializeNetworkView 1 Answer

How to send a gameobject in the OnSerializeNetworkView() 0 Answers

OnSerializeNetworkView to only one recipient 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