Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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
1
Question by thenachotech1113 · Nov 09, 2014 at 01:27 AM · objectfacing

how to check if an object is facing an other

hello everyone, I am trying to do a targeting system that targets an object when you click on it and then it adds a GUI image to signal its location. its all working great yet there is a problem where the GUI texture appears both on the target and in its opposite direction (so if the GUI texture centered when you are facing an objetc, when you turn 180 deg you will see the GUI texture). I tried the following to fix the problem yet it did not work:

 if (target != null){
 
                 GUI.Box(new Rect(10, 10, 150, 30), "TARGET:" + target.name);
                 GUI.Box(new Rect(10, 50, 150, 30), "DIST. TO TARGET:" +  distToTarget);
             //here is where it draws the texture(what is in the if statement is what i tried)
             if ((target.position.x - transform.position.x) * Mathf.Sin(transform.eulerAngles.y) > 0 ||
                 (target.position.y - transform.position.y) * Mathf.Cos(transform.eulerAngles.y) > 0)  
                     GUI.DrawTexture(new Rect(targetScreenPos.x - imageScale.x / 2, Screen.height - targetScreenPos.y - imageScale.x / 2
                                    , imageScale.x, imageScale.y), guiImageTexture, ScaleMode.ScaleToFit, true);
         }


so long storry short, all i got is the GUI texture to blink. thanks a lot in advanced.

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

2 Replies

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

Answer by robertbu · Nov 09, 2014 at 03:16 PM

Try this:

 Vector3 dir = target.position - transform.position;
 if (Vector3.Dot(dir, transform.forward) > 0.0f) {
     GUI.DrawTexture(new Rect(targetScreenPos.x - imageScale.x / 2, Screen.height - targetScreenPos.y - imageScale.x / 2, imageScale.x, imageScale.y), guiImageTexture, ScaleMode.ScaleToFit, true);
 }
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 thenachotech1113 · Nov 09, 2014 at 05:28 PM 0
Share

thanks man, realy useful

avatar image
1

Answer by The-Game-Master · Nov 09, 2014 at 04:24 PM

Try using a raycast. it should be something like this: if(Physics.raycast(Vector3.forward)){ }

I'm not sure that this is exactly how it goes, but you could try it. you could ask around. Then you'd need to check the GameObject Tag and you'd be fine.

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

27 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

Related Questions

Moving an object in the direction its facing in the editor 1 Answer

Object manager or manage each object separately 0 Answers

Instance of an Object not Found 1 Answer

How to check if an object is in a group of the hierachy 0 Answers

Respawning script question. 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