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 wolftek3 · Aug 28, 2019 at 03:09 PM · c#instantiatearraycyclewalkthrough

Cycle Through GameObjects in Array Issue.

I am new to Unity. I am trying to create a walk-through application from 360 photos. Essentially it is supposed to work as below: alt text

I modified a script I found online, but fear I am not setting the array up properly. Currently when I click the forward arrow I get a nice big fat crash (frozen with no other info). Here is the script. Any help appreciated. Forward Script:

 public class ArrayNAV : MonoBehaviour
 {
     public GameObject[] Spheres;
     int currentIndex = 0;
     GameObject currentObject;
 
     void Start()
     {
         //Instantiate initial object
         currentObject = Instantiate(Spheres[currentIndex]);
     }
 
 
     public void Next()
     {
         Destroy(currentObject);
         currentIndex++;
         currentIndex = currentIndex >= Spheres.Length ? 0 : currentIndex;
         currentObject = Instantiate(Spheres[currentIndex]);
     }
 }

ack.jpg (190.5 kB)
Comment
Add comment · Show 9
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 Hellium · Aug 28, 2019 at 03:20 PM 0
Share
  1. What are those arrows? sprites?

  2. How do you detect clicks on them?

  3. How is Next function called?

  4. Where is the ArrayNAV script attached?

avatar image wolftek3 Hellium · Aug 28, 2019 at 04:32 PM 0
Share
  1. Arrows are simply sprites (with trigger collider)

  2. A simple event trigger is used to detect clicks on the arrows

  3. The next function is called through the event trigger

  4. The ArrayNAV script is attached to an empty gameobject.

$$anonymous$$uch thanks for the response.

avatar image Hellium wolftek3 · Aug 28, 2019 at 04:39 PM 0
Share

In the event of your event trigger where you call Next, is there any other function you call which could cause a problem? (like an infinite loop mentionned by JedBeryll)

Does Unity completely freeze and you have to kill it using task manager?

Show more comments
avatar image Magso · Aug 28, 2019 at 04:18 PM 0
Share

Currently when I click the forward arrow

Are you inferring the other arrow works as intended?

avatar image wolftek3 Magso · Aug 28, 2019 at 04:33 PM 0
Share

Sorry no. I assumed after I sorted out the Next function issue I could create a similar script to the "back arrow"but have it use:

     public void Previous()
     {
         Destroy(currentObject);
         currentIndex--;
         currentIndex = currentIndex < 0 ? Spheres.Length : currentIndex;
         currentObject = Instantiate(Spheres[currentIndex]);
     }
avatar image wolftek3 · Aug 28, 2019 at 06:02 PM 0
Share

Noob question: Does the event trigger component check for a raycast hit, like:

  if (Input.Get$$anonymous$$ouseButtonDown(0))
         {
             RaycastHit hit;
             Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

I am using a mouselook script that allows the user to look around and click the arrow with a UI reticle.

avatar image JedBeryll wolftek3 · Aug 28, 2019 at 06:52 PM 0
Share

No, the ray itself doesn't do anything. You have to use it in another method like Physics.Raycast. Even then it won't help, because the arrow doesn't have a collider. You could just use a Button component which surely works... By the way, is there an EventSystem in the scene?

avatar image wolftek3 JedBeryll · Aug 29, 2019 at 01:29 PM 0
Share

Gotcha. There was no EventSystem. The arrow is not part of the Canvas, but it has a box collider set as a trigger. I think this is my problem. The previous method (loading a level vs instantiating a sphere prefab) I used a simple raycaster script to call a level load:

 using UnityEngine;
 
 public class RayCast1 : $$anonymous$$onoBehaviour
 {
     void Update()
     {
         if (Input.Get$$anonymous$$ouseButtonDown(0))
         {
             RaycastHit hit;
             Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
 
             if (Physics.Raycast(ray, out hit))
             {
                 if (hit.collider != null)
                 {
                     Application.LoadLevel("TrailNAV1");
                 }
             }
         }
     }
 }

Without an ES managing input (or a script such as the one above) when I click the mouse the trigger does not receive a hit, correct? So there would be nothing to report (through console). This is essentially why nothing is happening, right?

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by JedBeryll · Aug 28, 2019 at 04:30 PM

Most of the time, a freeze without error means that you've created an infinite loop. Also currentIndex > Spheres.Length should be currentIndex >= Spheres.Length because if you have an array with 3 elements, index 3 will result in an IndexOutOfRangeException.

Comment
Add comment · Show 11 · 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 wolftek3 · Aug 28, 2019 at 04:58 PM 0
Share

I corrected the script based on your comment. Updating it here in a few. I'm not getting the freeze after a system reboot, but now I think the event trigger is somehow broken. When I click on the arrow it does nothing. I'll check for any other potentially conflicting scripts.

avatar image JedBeryll wolftek3 · Aug 28, 2019 at 05:07 PM 0
Share

Please show an image of the event trigger and the hierarchy window as well.

avatar image wolftek3 JedBeryll · Aug 28, 2019 at 05:24 PM 0
Share

Suddenly having issues with uploading images here. Gimme a few. I can't get anything to upload now. ;(

Show more comments
avatar image Magso · Aug 29, 2019 at 02:58 PM 0
Share

That line is bringing currentIndex back to 0 if it's equal to Spheres.Length so there shouldn't be a loop happening.

avatar image JedBeryll Magso · Aug 29, 2019 at 04:02 PM 0
Share

I know that. That's why I started my second sentence with "also" because the 2 are not related.

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

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

Can´t instantiate objects in list correctly 1 Answer

How to put gameObjects to the list? 4 Answers

C# How to Find the Height of an Instantiated GameObject in an Array? 1 Answer

Prefabs instantiated from an array are keeping their public int value 1 Answer

Finding the Sum of Values of Multiple GameObjects in an Array + Variable Sized arrays 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