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 /
This question was closed Oct 21, 2015 at 06:36 PM by johnniks for the following reason:

I figured it out on my own, so just delete this post. No reason to keep it around.

avatar image
0
Question by johnniks · Oct 11, 2015 at 03:04 PM · 3dcrosshair3rd person controllerspaceship3rd person camera

How to make a space ship fly after crosshair?

I'm trying to make a game like this: https://www.youtube.com/watch?v=YXWx0H8mZM0 but I can't make my space ship fly in the direction that I point my mouse towards (crosshair). I've tried to use different scripts but I can't make anything work... I've been stuck at this for at least 2 hours now :/

using UnityEngine; using System.Collections;

public class LookAtMouse : MonoBehaviour {

 public GameObject player;
 // speed is the rate at which the object will rotate
 public float speed;

 void FixedUpdate() {
     // Generate a plane that intersects the transform's position with an upwards normal.
     Plane player = new Plane(Vector3.up, transform.position);

     // Generate a ray from the cursor position
     Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

     // Determine the point where the cursor ray intersects the plane.
     // This will be the point that the object must look towards to be looking at the mouse.
     // Raycasting to a Plane object only gives us a distance, so we'll have to take the distance,
     //   then find the point along that ray that meets that distance.  This will be the point
     //   to look at.
     float hitdist = 0.0f;
     // If the ray is parallel to the plane, Raycast will return false.
     if (player.Raycast(ray, out hitdist)) {
         // Get the point along the ray that hits the calculated distance.
         Vector3 targetPoint = ray.GetPoint(hitdist);

         // Determine the target rotation.  This is the rotation if the transform looks at the target point.
         Quaternion targetRotation = Quaternion.LookRotation(targetPoint - transform.position);

         // Smoothly rotate towards the target point.
         transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, speed * Time.deltaTime);
     }
 }

}

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

  • Sort: 
avatar image
0

Answer by FuzzyQuills · Oct 11, 2015 at 10:40 PM

Hey there dude. :) From what you're describing, you want the reticle (aka. target) to move the ship like Star Fox 64? (Or any star fox game i've seen anyway... :D)

In such a case, you would first convert your screen corrdinates into normalized viewport (0..1 range) ones, then take Vector2(0.5,0.5) away from your reticle's coords. This will give you a vector you can then transform into some other coordinate space. (Not sure which coordinate space though... will have to do some research on that)

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 johnniks · Oct 21, 2015 at 01:56 PM 0
Share

I never played Star Fox 64... I was thinking like star wars rogue squadron, where the spaceship follows the crosshair, so that the camera keeps following behind the ship regardless of which direction that I point my spaceship towards.

Do you have a tutorial or something I could watch/read? I didn't really understand what you said :/ I'm a fairly inexperienced programmer.

PS. sorry about the late reply!

Follow this Question

Answers Answers and Comments

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

How can I make the character turn to face the camera? 0 Answers

Problem with fireing multiple raycasts at once 0 Answers

Object with fixed position but follows camera rotation 0 Answers

3rd person character controller rotation keeps resetting to 0 0 Answers

How to fix "the type or namespace ".." could not be found" in unity 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