Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 14 Next capture
2021 2022 2023
2 captures
13 Jun 22 - 14 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 TheHardkaare · May 01, 2014 at 04:05 PM · directionmovingwronginasteroid

Asteroids moving in the wrong direction

My asteroids are moving in the wrong direction. When moving, it moves along the blue axis, but it has to move along the green axis. Here's a picture of it: http://i.imgur.com/996BWAY.png

You see, I fixed this problem earlier, but when I integrated the GameController in my game, it started going down the blue axis AGAIN.

This is my code for the movement of the asteroid:

 using UnityEngine;
 using System.Collections;
 
 public class MoverAsteroid : MonoBehaviour 
 {
     public float speed; //public float tilføjes så værdien kan ændres i selve unity istedet for at være kodebaseret
     void Start ()
     {
         rigidbody.velocity = transform.up * speed; //transform forward er bevægelsen langt z-aksen.
     }
 }

(Ignore the danish notes) The value "speed" is set to -0.3 in Unity for testing reasons.

And this is the code for my GameController:

 using UnityEngine;
 using System.Collections;
 
 public class GameController : MonoBehaviour 
 {
     public GameObject hazard;
     public Vector3 spawnValues;
 
     void Start ()
     {
         SpawnWaves ();
     }
 
     void SpawnWaves ()
     {
         Vector3 spawnPosition = new Vector3 (Random.Range (-spawnValues.x,spawnValues.x), spawnValues.y, spawnValues.z);
         Quaternion spawnRotation = Quaternion.identity;
         Instantiate (hazard, spawnPosition, spawnRotation);
     }
 }
 

I believe these two are the only relevant codes for this, otherwise please let me know.

It all works perfectly just if I put in my asteroid prefab, it just doesn't spawn randomly.

As stated, I'm not sure if this is all sufficient, but let me know <3

Comment
Add comment · Show 10
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 KevLoughrey · May 01, 2014 at 04:19 PM 0
Share

Really not sure this time, but I assume it's something to do with Quaternion.identity. $$anonymous$$aybe try changing your original script back to transform.forward? Don't forget to mark your previous question as answered by the way!

avatar image darthtelle · May 01, 2014 at 04:25 PM 0
Share

Have you checked to see what the game object's up transform is? If that's the axis you're moving it along, there's a chance that's incorrect. If it is, you either need to implicitly tell the object what axis to move along or modify the rotation or the actual model when you instantiate it.

avatar image TheHardkaare · May 01, 2014 at 04:40 PM 0
Share

$$anonymous$$ev - I've done that, without results.

Darthtelle - as I said, it works perfectly if I just put in the asteroid by itself, but if I connect the GameController script, it does this.

I'm not sure if this is the answer to your answer, since I'm not sure I quite get you. (I'm new to Unity and program$$anonymous$$g in general)

avatar image darthtelle · May 02, 2014 at 06:56 AM 0
Share

O$$anonymous$$, so if it works fine normally as a prefab, what about when you instantiate inside the game controller not to set the rotation? Ins$$anonymous$$d of setting it to the identity quaternion you could maybe try either:

Instantiate(hazard, spawnPosition, hazard.transform.rotation);

Or:

GameObject hazardObject = (GameObject) Instantiate(hazard); hazardObject.transform.position = spawnPosition;

avatar image TheHardkaare · May 02, 2014 at 12:10 PM 0
Share

Hi Darthtelle. I've now made my GameController script like this: using UnityEngine; using System.Collections;

 public class GameController : $$anonymous$$onoBehaviour 
 {
     public GameObject hazard;
     public Vector3 spawnValues;
 
     void Start ()
     {
         SpawnWaves ();
     }
 
     void SpawnWaves ()
     {
         Vector3 spawnPosition = new Vector3 (Random.Range (-spawnValues.x,spawnValues.x), spawnValues.y, spawnValues.z);
         Quaternion spawnRotation = Instantiate(hazard, spawnPosition, hazard.transform.rotation);;
         Instantiate (hazard, spawnPosition, spawnRotation);
     }
 }



However, it comes up with an error: http://i.imgur.com/3bG$$anonymous$$x3u.png

Did I misunderstand you?

Show more comments

2 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by CrilleStyles · May 02, 2014 at 08:00 PM

Try to invert the direction in the script, That will maybe work

Comment
Add comment · Show 1 · 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 TheHardkaare · May 03, 2014 at 01:32 PM 0
Share

Can you be a little more specific, please?

avatar image
0

Answer by anto20117 · Mar 12, 2017 at 05:49 PM

when you have to move the Move Scripts from the Bolt to Asteroid it looked like this in the Bolt

GetComponent().velocity = transform.forward * 20;

change this line of code for Asteroid

SO IT LOOKS LIKE THIS

GetComponent().velocity = transform.forward * speed;

so Asteroid move to your Player NOT from your Player

Change the Speed in unity to -5

Hop this Help

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

25 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

Related Questions

Entity moving along the wrong axis 0 Answers

Can't get platform to move to the other direction 2 Answers

C# How to get a direction of a moving object? 1 Answer

Cant get moving platform to go the other direction 1 Answer

Moving Randomly 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