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 nowletsstart · Oct 16, 2018 at 11:39 AM · editoreditor-scriptingslidersceneview

Scene view cannot recognise movement of several objects in the editor until objects are selected

I created a game object and added a SpriteStuff script to it that I created with a various properties and functions for the game object. I also made a few copies of the object. After, I made a GroupSpriteStuff game object which has the following property

 public List<SpriteStuff> spriteStuffs;


I added an editor script for GroupSpriteStuff (GroupSpriteStuffEditor) that iterates through spriteStuffs to move each object using a slider. The movement of objects in spriteStuffs is only seen when I select the objects after moving the slider, if I don't select the objects after moving the slider the changes are aren't visible in the scene view. Below is the GroupSpriteStuffEditor:

 GroupSpriteStuff groupSpriteStuff;    
 float groupSpritesMvmtSliderValue = 0.0f;

 void OnEnable()
 {
     groupSpriteStuff = (GroupSpriteStuff)target;
 }

     public override void OnInspectorGUI()
 {
     base.OnInspectorGUI();

     EditorGUI.BeginChangeCheck();

     groupSpritesMvmtSliderValue = EditorGUILayout.Slider("Group Movement", groupSpriteStuff.originalGroupSpritesMvmtSliderValue, 0.0f, 1.0f);

     if (!Mathf.Approximately(groupSpriteStuff.originalGroupSpritesMvmtSliderValue, groupSpritesMvmtSliderValue))
     {
         for (int i = 0; i < groupSpriteStuff.spriteStuffs.Count; i++)
         {
             spriteStuffs[i].UseTestMovement(0.2f);
         }

         groupSpriteStuff.originalGroupSpritesMvmtSliderValue = groupSpritesMvmtSliderValue;
     }

     if (EditorGUI.EndChangeCheck())
     {
         
         SceneView.RepaintAll();
     }

 }


How can I get the scene view to update/recognise the changes in movement I make with the slider?

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
0
Best Answer

Answer by Bunny83 · Oct 17, 2018 at 09:59 AM

Well, the sceneview should be updated when RepaintAll is called. However if you are in edit mode, are you sure your changed are actually serialized? We can't really determine from the code shown what actually happens. You haven't marked your object as dirty. You should use Undo.RecordObject before you assign the new slider value to your object.


Also in line 21, should it be

 groupSpriteStuff.spriteStuffs[i].UseTestMovement(0.2f);

instead of

 spriteStuffs[i].UseTestMovement(0.2f);


Since you do already a manual change check with your mathf.approximately you don't really need the editor change check.

 {
     Undo.RecordObject(groupSpriteStuff, "Changed group slider");
     for (int i = 0; i < groupSpriteStuff.spriteStuffs.Count; i++)
     {
         groupSpriteStuff.spriteStuffs[i].UseTestMovement(0.2f);
     }
     groupSpriteStuff.originalGroupSpritesMvmtSliderValue = groupSpritesMvmtSliderValue;
     SceneView.RepaintAll();
 }


However as i said it's hard to follow your code since a lot things are not clear what actually happens / should happen and what "UseTestMovement" is actually doing.

Comment
Add comment · Show 2 · 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
avatar image nowletsstart · Oct 17, 2018 at 02:57 PM 0
Share

Thanks. I was about to post UseTest$$anonymous$$ovement then I realised I forgot a helper method that I thought I was calling in UseTest$$anonymous$$ovement. It's working now

avatar image nowletsstart · Oct 31, 2018 at 05:51 PM 0
Share

@Bunny83 thanks once again. I would be really grateful if you could please take a look at Clone several objects question which I asked recently. The original question was posted as how to clone several game objects in a way that clone properties of one can be adjusted to match all others in scene view at Stackoverflow but I haven't been able to get it solved in 4 months.

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

135 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

Related Questions

Override scene view grid with my own? 0 Answers

Custom debug color display for scene view? 2 Answers

Modal Functionality in Custom Editor Window 0 Answers

Custom scene view in editor window 2 Answers

EditorGUI.Slider positioning 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