{"id":4126,"date":"2015-12-17T02:27:34","date_gmt":"2015-12-16T23:27:34","guid":{"rendered":"http:\/\/unitycoder.com\/blog\/?p=4126"},"modified":"2015-12-17T02:27:34","modified_gmt":"2015-12-16T23:27:34","slug":"get-angle-between-2-gameobjects-in-degrees-0-360","status":"publish","type":"post","link":"https:\/\/unitycoder.com\/blog\/2015\/12\/17\/get-angle-between-2-gameobjects-in-degrees-0-360\/","title":{"rendered":"Get Angle Between 2 GameObjects in Degrees (0-360)"},"content":{"rendered":"<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4127\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2015\/12\/17\/get-angle-between-2-gameobjects-in-degrees-0-360\/get_angle_between_2_gameobjects_unity\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/12\/get_angle_between_2_gameobjects_unity.gif?fit=492%2C198&amp;ssl=1\" data-orig-size=\"492,198\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"get_angle_between_2_gameobjects_unity\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/12\/get_angle_between_2_gameobjects_unity.gif?fit=300%2C121&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/12\/get_angle_between_2_gameobjects_unity.gif?fit=492%2C198&amp;ssl=1\" class=\"alignnone size-full wp-image-4127\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/12\/get_angle_between_2_gameobjects_unity.gif?resize=492%2C198\" alt=\"get_angle_between_2_gameobjects_unity\" width=\"492\" height=\"198\" \/><\/p>\n<p>Small helper script to check angle between 2 objects in degrees (and in between 0-360).<\/p>\n<p>It also includes test code for <span class=\"pl-en\">atan2Approximation, have not measured if there are any benefits using it..<br \/>\nAlso note [ExecuteInEditMode], so it runs in editor without playmode.<\/span><\/p>\n<style>.gist table { margin-bottom: 0; }<\/style>\n<div style=\"tab-size: 8\" id=\"gist29053619\" class=\"gist\">\n<div class=\"gist-file\" translate=\"no\" data-color-mode=\"light\" data-light-theme=\"light\">\n<div class=\"gist-data\">\n<div class=\"js-gist-file-update-container js-task-list-container\">\n<div id=\"file-getangle-cs\" class=\"file my-2\">\n<div itemprop=\"text\"\n      class=\"Box-body p-0 blob-wrapper data type-c  \"\n      style=\"overflow: auto\" tabindex=\"0\" role=\"region\"\n      aria-label=\"GetAngle.cs content, created by unitycoder on 11:23PM on December 16, 2015.\"\n    ><\/p>\n<div class=\"js-check-hidden-unicode js-blob-code-container blob-code-content\">\n<p>  <template class=\"js-file-alert-template\"><\/p>\n<div data-view-component=\"true\" class=\"flash flash-warn flash-full d-flex flex-items-center\">\n  <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg><br \/>\n    <span><br \/>\n      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.<br \/>\n      <a class=\"Link--inTextBlock\" href=\"https:\/\/github.co\/hiddenchars\" target=\"_blank\">Learn more about bidirectional Unicode characters<\/a><br \/>\n    <\/span><\/p>\n<div data-view-component=\"true\" class=\"flash-action\">        <a href=\"{{ revealButtonHref }}\" data-view-component=\"true\" class=\"btn-sm btn\">    Show hidden characters<br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><\/template><br \/>\n<template class=\"js-line-alert-template\"><br \/>\n  <span aria-label=\"This line has hidden Unicode characters\" data-view-component=\"true\" class=\"line-alert tooltipped tooltipped-e\"><br \/>\n    <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg><br \/>\n<\/span><\/template><\/p>\n<table data-hpc class=\"highlight tab-size js-file-line-container\" data-tab-size=\"4\" data-paste-markdown-skip data-tagsearch-path=\"GetAngle.cs\">\n<tr>\n<td id=\"file-getangle-cs-L1\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"1\"><\/td>\n<td id=\"file-getangle-cs-LC1\" class=\"blob-code blob-code-inner js-file-line\">using UnityEngine;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L2\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"2\"><\/td>\n<td id=\"file-getangle-cs-LC2\" class=\"blob-code blob-code-inner js-file-line\">using System.Collections;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L3\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"3\"><\/td>\n<td id=\"file-getangle-cs-LC3\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L4\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"4\"><\/td>\n<td id=\"file-getangle-cs-LC4\" class=\"blob-code blob-code-inner js-file-line\">\/\/ helper script for testing angle calculation<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L5\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"5\"><\/td>\n<td id=\"file-getangle-cs-LC5\" class=\"blob-code blob-code-inner js-file-line\">\/\/ USAGE:<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L6\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"6\"><\/td>\n<td id=\"file-getangle-cs-LC6\" class=\"blob-code blob-code-inner js-file-line\">\/\/ &#8211; Attach this script to objectA and assign objectB as target<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L7\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"7\"><\/td>\n<td id=\"file-getangle-cs-LC7\" class=\"blob-code blob-code-inner js-file-line\">\/\/ &#8211; Then select objectA and move it around ObjectB and you can see angle values in inspector<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L8\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"8\"><\/td>\n<td id=\"file-getangle-cs-LC8\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L9\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"9\"><\/td>\n<td id=\"file-getangle-cs-LC9\" class=\"blob-code blob-code-inner js-file-line\">[ExecuteInEditMode]<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L10\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"10\"><\/td>\n<td id=\"file-getangle-cs-LC10\" class=\"blob-code blob-code-inner js-file-line\">public class GetAngle : MonoBehaviour <\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L11\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"11\"><\/td>\n<td id=\"file-getangle-cs-LC11\" class=\"blob-code blob-code-inner js-file-line\">{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L12\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"12\"><\/td>\n<td id=\"file-getangle-cs-LC12\" class=\"blob-code blob-code-inner js-file-line\">\tpublic Transform target;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L13\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"13\"><\/td>\n<td id=\"file-getangle-cs-LC13\" class=\"blob-code blob-code-inner js-file-line\">\tpublic float angle;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L14\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"14\"><\/td>\n<td id=\"file-getangle-cs-LC14\" class=\"blob-code blob-code-inner js-file-line\">\tpublic float angleOpt;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L15\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"15\"><\/td>\n<td id=\"file-getangle-cs-LC15\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L16\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"16\"><\/td>\n<td id=\"file-getangle-cs-LC16\" class=\"blob-code blob-code-inner js-file-line\">\tvoid Update () <\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L17\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"17\"><\/td>\n<td id=\"file-getangle-cs-LC17\" class=\"blob-code blob-code-inner js-file-line\">\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L18\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"18\"><\/td>\n<td id=\"file-getangle-cs-LC18\" class=\"blob-code blob-code-inner js-file-line\">\t\tif (!target) return;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L19\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"19\"><\/td>\n<td id=\"file-getangle-cs-LC19\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L20\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"20\"><\/td>\n<td id=\"file-getangle-cs-LC20\" class=\"blob-code blob-code-inner js-file-line\">\t\tvar myPos = transform.position;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L21\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"21\"><\/td>\n<td id=\"file-getangle-cs-LC21\" class=\"blob-code blob-code-inner js-file-line\">\t\tmyPos.y = 0;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L22\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"22\"><\/td>\n<td id=\"file-getangle-cs-LC22\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L23\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"23\"><\/td>\n<td id=\"file-getangle-cs-LC23\" class=\"blob-code blob-code-inner js-file-line\">\t\tvar targetPos = target.position;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L24\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"24\"><\/td>\n<td id=\"file-getangle-cs-LC24\" class=\"blob-code blob-code-inner js-file-line\">\t\ttargetPos.y = 0;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L25\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"25\"><\/td>\n<td id=\"file-getangle-cs-LC25\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L26\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"26\"><\/td>\n<td id=\"file-getangle-cs-LC26\" class=\"blob-code blob-code-inner js-file-line\">\t\tVector3 toOther = (myPos &#8211; targetPos).normalized;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L27\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"27\"><\/td>\n<td id=\"file-getangle-cs-LC27\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L28\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"28\"><\/td>\n<td id=\"file-getangle-cs-LC28\" class=\"blob-code blob-code-inner js-file-line\">\t\tangle = Mathf.Atan2(toOther.z, toOther.x) * Mathf.Rad2Deg + 180;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L29\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"29\"><\/td>\n<td id=\"file-getangle-cs-LC29\" class=\"blob-code blob-code-inner js-file-line\">\t\tangleOpt = atan2Approximation(toOther.z, toOther.x) * Mathf.Rad2Deg + 180;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L30\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"30\"><\/td>\n<td id=\"file-getangle-cs-LC30\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L31\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"31\"><\/td>\n<td id=\"file-getangle-cs-LC31\" class=\"blob-code blob-code-inner js-file-line\">\t\tDebug.DrawLine (myPos, targetPos, Color.yellow);<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L32\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"32\"><\/td>\n<td id=\"file-getangle-cs-LC32\" class=\"blob-code blob-code-inner js-file-line\">\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L33\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"33\"><\/td>\n<td id=\"file-getangle-cs-LC33\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L34\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"34\"><\/td>\n<td id=\"file-getangle-cs-LC34\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L35\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"35\"><\/td>\n<td id=\"file-getangle-cs-LC35\" class=\"blob-code blob-code-inner js-file-line\">\tfloat atan2Approximation(float y, float x) \/\/ http:\/\/http.developer.nvidia.com\/Cg\/atan2.html<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L36\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"36\"><\/td>\n<td id=\"file-getangle-cs-LC36\" class=\"blob-code blob-code-inner js-file-line\">\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L37\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"37\"><\/td>\n<td id=\"file-getangle-cs-LC37\" class=\"blob-code blob-code-inner js-file-line\">\t\tfloat t0, t1, t2, t3, t4;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L38\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"38\"><\/td>\n<td id=\"file-getangle-cs-LC38\" class=\"blob-code blob-code-inner js-file-line\">\t\tt3 = Mathf.Abs(x);<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L39\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"39\"><\/td>\n<td id=\"file-getangle-cs-LC39\" class=\"blob-code blob-code-inner js-file-line\">\t\tt1 = Mathf.Abs(y);<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L40\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"40\"><\/td>\n<td id=\"file-getangle-cs-LC40\" class=\"blob-code blob-code-inner js-file-line\">\t\tt0 = Mathf.Max(t3, t1);<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L41\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"41\"><\/td>\n<td id=\"file-getangle-cs-LC41\" class=\"blob-code blob-code-inner js-file-line\">\t\tt1 = Mathf.Min(t3, t1);<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L42\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"42\"><\/td>\n<td id=\"file-getangle-cs-LC42\" class=\"blob-code blob-code-inner js-file-line\">\t\tt3 = 1f \/ t0;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L43\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"43\"><\/td>\n<td id=\"file-getangle-cs-LC43\" class=\"blob-code blob-code-inner js-file-line\">\t\tt3 = t1 * t3;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L44\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"44\"><\/td>\n<td id=\"file-getangle-cs-LC44\" class=\"blob-code blob-code-inner js-file-line\">\t\tt4 = t3 * t3;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L45\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"45\"><\/td>\n<td id=\"file-getangle-cs-LC45\" class=\"blob-code blob-code-inner js-file-line\">\t\tt0 =         &#8211; 0.013480470f;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L46\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"46\"><\/td>\n<td id=\"file-getangle-cs-LC46\" class=\"blob-code blob-code-inner js-file-line\">\t\tt0 = t0 * t4 + 0.057477314f;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L47\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"47\"><\/td>\n<td id=\"file-getangle-cs-LC47\" class=\"blob-code blob-code-inner js-file-line\">\t\tt0 = t0 * t4 &#8211; 0.121239071f;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L48\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"48\"><\/td>\n<td id=\"file-getangle-cs-LC48\" class=\"blob-code blob-code-inner js-file-line\">\t\tt0 = t0 * t4 + 0.195635925f;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L49\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"49\"><\/td>\n<td id=\"file-getangle-cs-LC49\" class=\"blob-code blob-code-inner js-file-line\">\t\tt0 = t0 * t4 &#8211; 0.332994597f;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L50\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"50\"><\/td>\n<td id=\"file-getangle-cs-LC50\" class=\"blob-code blob-code-inner js-file-line\">\t\tt0 = t0 * t4 + 0.999995630f;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L51\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"51\"><\/td>\n<td id=\"file-getangle-cs-LC51\" class=\"blob-code blob-code-inner js-file-line\">\t\tt3 = t0 * t3;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L52\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"52\"><\/td>\n<td id=\"file-getangle-cs-LC52\" class=\"blob-code blob-code-inner js-file-line\">\t\tt3 = (Mathf.Abs(y) &gt; Mathf.Abs(x)) ? 1.570796327f-t3 : t3;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L53\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"53\"><\/td>\n<td id=\"file-getangle-cs-LC53\" class=\"blob-code blob-code-inner js-file-line\">\t\tt3 = (x &lt; 0) ? 3.141592654f-t3:t3;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L54\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"54\"><\/td>\n<td id=\"file-getangle-cs-LC54\" class=\"blob-code blob-code-inner js-file-line\">\t\tt3 = (y &lt; 0) ? -t3 : t3;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L55\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"55\"><\/td>\n<td id=\"file-getangle-cs-LC55\" class=\"blob-code blob-code-inner js-file-line\">\t\treturn t3;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L56\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"56\"><\/td>\n<td id=\"file-getangle-cs-LC56\" class=\"blob-code blob-code-inner js-file-line\">\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L57\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"57\"><\/td>\n<td id=\"file-getangle-cs-LC57\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-getangle-cs-L58\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"58\"><\/td>\n<td id=\"file-getangle-cs-LC58\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n<\/tr>\n<\/table>\n<\/div><\/div>\n<\/p><\/div>\n<\/div><\/div>\n<div class=\"gist-meta\">\n        <a href=\"https:\/\/gist.github.com\/unitycoder\/e3fcd86eb75b4ac78c7e\/raw\/196088728b3d6cb50aec968a416e0b03d2be86d7\/GetAngle.cs\" style=\"float:right\" class=\"Link--inTextBlock\">view raw<\/a><br \/>\n        <a href=\"https:\/\/gist.github.com\/unitycoder\/e3fcd86eb75b4ac78c7e#file-getangle-cs\" class=\"Link--inTextBlock\"><br \/>\n          GetAngle.cs<br \/>\n        <\/a><br \/>\n        hosted with &#10084; by <a class=\"Link--inTextBlock\" href=\"https:\/\/github.com\">GitHub<\/a>\n      <\/div>\n<\/p><\/div>\n<\/div>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4128\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2015\/12\/17\/get-angle-between-2-gameobjects-in-degrees-0-360\/get_angle_between_2_gameobjects_unity_ss\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/12\/get_angle_between_2_gameobjects_unity_ss.jpg?fit=680%2C398&amp;ssl=1\" data-orig-size=\"680,398\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"get_angle_between_2_gameobjects_unity_ss\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/12\/get_angle_between_2_gameobjects_unity_ss.jpg?fit=300%2C176&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/12\/get_angle_between_2_gameobjects_unity_ss.jpg?fit=680%2C398&amp;ssl=1\" class=\"alignnone size-full wp-image-4128\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/12\/get_angle_between_2_gameobjects_unity_ss.jpg?resize=680%2C398\" alt=\"get_angle_between_2_gameobjects_unity_ss\" width=\"680\" height=\"398\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/12\/get_angle_between_2_gameobjects_unity_ss.jpg?w=680&amp;ssl=1 680w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/12\/get_angle_between_2_gameobjects_unity_ss.jpg?resize=300%2C176&amp;ssl=1 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Small helper script to check angle between 2 objects in degrees (and in between 0-360). It also includes test code for atan2Approximation, have not measured if there are any benefits using it.. Also note [ExecuteInEditMode], so it runs in editor without playmode. This file contains [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4128,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[804,3],"tags":[321,727,829,826,827,823,828,824,747,825,781],"class_list":["post-4126","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-scripts","category-unity3d","tag-321","tag-angle","tag-atan2","tag-between","tag-degrees","tag-dot","tag-dot-product","tag-gameobject","tag-math","tag-transform","tag-vector"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/12\/get_angle_between_2_gameobjects_unity_ss.jpg?fit=680%2C398&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p1KTaT-14y","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/4126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/comments?post=4126"}],"version-history":[{"count":1,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/4126\/revisions"}],"predecessor-version":[{"id":4129,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/4126\/revisions\/4129"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media\/4128"}],"wp:attachment":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media?parent=4126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/categories?post=4126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/tags?post=4126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}