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 /
avatar image
0
Question by KtoK21 · Jan 20, 2019 at 05:50 PM · delayupdate problem

BoxCollider2D.bounds not update properly. Frame delay exists

Hi, I'm Unity user with C#.
I'm now having struggle with using BoxCollider2D.bounds to clamp object's moving boundary.

     Debug.Log(Background.GetComponent<BoxCollider2D>().bounds.min);

     Background.transform.localScale = new Vector3(MapSize, MapSize, 1);

     minBound = Background.GetComponent < BoxCollider2D>().bounds.min;

     maxBound = Background.GetComponent<BoxCollider2D>().bounds.max;

     Debug.Log(Background.GetComponent<BoxCollider2D>().bounds.min);

Above is code of my function right now. "Background" is object that have BoxCollider2D component.

In first line, scale of Background is expanded as Mapsize (this is 2D object, so not touching z axis).

In third and fourth line, BoxCollider2D.bounds.min and max should be duplicated to minBound and maxBound.

But log that come from second and fifth line shows me same value, bounds.min value that is before executing first line(change local scale).

When I put same Debug.log code in Update(), it shows expected value 1 frame after this function executed.

To me, it looks like Unity Engine is busy changing localScale until it execute later lines, so it's BoxCollider2D size does not updated with changed localScale (normally it changes automatically).

Maybe that's why it give me expected value after 1 frame.

Am I right? Or is there anything that I missed? Is there any solution for this problem, plz let me know.

Comment
Add comment · Show 3
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
avatar image xxmariofer · Jan 20, 2019 at 07:38 PM 0
Share

Scaling is a syncronous method so if its busy scaling your bounds the method will have to wait before it continues execution unless you are using threads. Second i dont really understanding your code, you are loging the bounds $$anonymous$$ from the background collider, but you are never changing that value inside both logs, so it will never change its value, i am missing something?

avatar image KtoK21 xxmariofer · Jan 21, 2019 at 04:49 AM 0
Share

O$$anonymous$$G sorry. That code was wrong

First logging should be placed earlier then changing scale. I fixed it.

Also I tested little bit more, and find out that changing local Scale is worked fine. So I think changing BoxCollider in Background transform (derived from changing local scale) was delayed. Am I right?

avatar image xxmariofer KtoK21 · Jan 21, 2019 at 08:35 AM 0
Share

hello, that sounds extrange, test that same code inside coroutine and yield return some secs between both logs for making sure is a delayed problem.

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

100 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

Related Questions

How to implement a delay between each time my gun fires (using coroutines or otherwise)?... 2 Answers

android audio delayed 1 Answer

cooldown timers 0 Answers

Shoot Bullet Delay Enemy 0 Answers

Can someone help me with Programming Delays? 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