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 /
avatar image
0
Question by xpavelos · Feb 21, 2016 at 01:37 PM · networkingmultiplayerspawningsynchronization

Unet - spawning bullets, two issues

Okay, I have searched all of the internet and I can't solve it.

I have learnt that if you spawn an object through NeworkServer (and the prefab is registered in NetworkManager) if the object gets destroyed on the server it will also be destroyed on clients. So I assumed synchronization should be spot on. It kind of works but, I get "did not find target for sync" message when I play as client. I understand that unet tries to synchronize bullet's position, but it could be already destroyed on clients.

The other issue is that bullets when they collide with other non kinematic rigidbodies - players for example - they just like skip some physics and push other players with so much force. When played on client and shooting host player, then host player just flies off. On the other hand when host shoots a bullet and it collides with client's player, physics seem to be ok. Bullet has NetworkTransform and SyncMode is set to Rigidbody2D.

Shooting script (attached to the player):

     void Update()
     {
         if (isLocalPlayer)
         {
             if (Input.GetKeyDown(shoot_key))
             {
                 if (playerMovement.IsFacingRight) CmdShoot(Vector2.right);
                 else CmdShoot (Vector2.left);
             }
         }
     }
         
     [Command]
     public void CmdShoot(Vector2 direction)
     {
         if (!isServer) return;
 
         GameObject instance = Instantiate(_bullet, _hotSpot.transform.position, Quaternion.identity) as GameObject;
         Bullet bullet = instance.GetComponent<Bullet>();
         bullet.SetDirection(direction);
         Destroy(instance.gameObject, 1);
         NetworkServer.Spawn(instance.gameObject);
     }

And bullet script:

 public class Bullet : NetworkBehaviour
 {
     public float _startingSpeed = 200;
     private Rigidbody2D rb;
     private Vector2 direction;
 
     void Start()
     {
         rb = GetComponent<Rigidbody2D>();
         rb.AddForce(direction * _startingSpeed);
     }
         
     public void SetDirection(Vector2 newDirection)
     {
         direction = newDirection;
     }
 }

Could you explain what am I doing wrong, please?

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 Chom1czek · Feb 25, 2016 at 01:55 AM

Don't know why you put:

     if (!isServer) return;

on your Command, remove it. I also don't quite get it why you have AddForce on Start and then you immediately change it with SetDirection, make your mind :) That Destroy before Spawn looks odd but I don't think it's the case but still odd :) Let me know if any of it helped. Good luck.

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

51 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

Related Questions

UNet - sync child transform scale 1 Answer

Unet Syncing Flashlights 2 Answers

how to split player objects over network? 0 Answers

Problem with using Unity Spawnsystem (Unet / Multiplayer) 0 Answers

Synchronize child objects,multiplayer 0 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