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 Casper_001 · Oct 24, 2017 at 03:27 PM · transformdirectionline of sight

transform.TransformDirection not working

I'm working on a Line of sight script. It works completely fine exept when my enemy rotates the forward position doesnt get updated. My Line of sight script is made so that it doesn't detect the player if he's behind the enemy. So I write: Debug.Log (Model.TransformDirection(RayHelp.eulerAngles)); When rotating my enemy nothing happens! (RayHelp is used to look at the player, Model is useless, it was just me trying uot if it would fix it. When removing it it still doesnt work) If you want to see the full code here it is:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class LOS : MonoBehaviour {
 
     public Transform Goal;
     public Transform RayHelp;
     public Transform RayHelpParent;
     public Transform Model;
     public float maxDistance = 100;
     public float lodAngle = 90;
 
     void Start () {
         
     }
 
     void Update () {
         RayHelp.position = RayHelpParent.position;
         RaycastHit hit;
         RayHelp.LookAt(new Vector3(Goal.position.x,RayHelp.position.y,Goal.position.z));
         RayHelp.eulerAngles = new Vector3 (RayHelp.eulerAngles.x,RayHelp.eulerAngles.y + 90,RayHelp.eulerAngles.z);
         if(transform.TransformDirection(RayHelp.eulerAngles).y > 180){
             RayHelp.eulerAngles = new Vector3 (RayHelp.eulerAngles.x,RayHelp.eulerAngles.y - 180,RayHelp.eulerAngles.z);
             RayHelp.eulerAngles = new Vector3 (RayHelp.eulerAngles.x,Vector3.Distance(RayHelp.eulerAngles, new Vector3(RayHelp.eulerAngles.x,180,RayHelp.eulerAngles.z)),RayHelp.eulerAngles.z);
         }
         if(Physics.Raycast(RayHelp.position,-(RayHelp.position - Goal.position), out hit,maxDistance)){
             Debug.Log (Model.TransformDirection(RayHelp.eulerAngles));
             if(transform.TransformDirection(RayHelp.eulerAngles).y < lodAngle){
             if(hit.transform.tag == "Player"){
             Debug.Log("!");
             }
         }
         }
     }
 }
 


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

Answer by Bunny83 · Oct 24, 2017 at 09:52 PM

EulerAngles is not a direction vector but simply a collection of 3 angles. They can't be "transformed" into another space as they actually rely on the axes you provide them.

So you can be sure that TransformDirection works when you actually pass a direction vector defined in local space.

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 Casper_001 · Oct 25, 2017 at 12:16 PM 0
Share

Thanks! (this is actuarly the first time I asked a question here so this is really cool). I ended up using RayHelp.right. Some code was useless so I deleted it.

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

90 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

Related Questions

How to rotate instantated prefab without rotating it's local directions by javascript? 1 Answer

Rotation and Velocity of bullets. 1 Answer

Change the transform scale based on direction of motion 0 Answers

Simple Transform question, using Quaternion.LookRotation 0 Answers

teleport player in the direction they are looking, 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