- Home /
Find Transform in the scene
Hello, everybody! Now I'm having a little problem with my scripting. This is my code of my AI.
var target : Transform;
function Awake ()
{
if (!target)
{
target = GameObject.FindWithTag ("Player");
}
}
//the code above has error. "Cant Convert GameObject to Transform". In my function update, I need to use the transform in order to make my AI rotate and move toward the Player. i.e :
var relativePos = target.position - transform.position;
So how can I fix that? Thanks in advance!
Answer by CHPedersen · Sep 22, 2011 at 06:29 AM
You're almost there. :)
Your problem is, as the error points out, that GameObject.FindWithTag returns a GameObject, and you want a transform. Fortunately, GameObjects always have a transform. (Since, understandably enough, it's hard to define an object in your game with less detail than at least a position, scale and rotation).
Therefore, to acquire the player's transform, all you have to do is add ".transform" to that:
target = GameObject.FindWithTag ("Player").transform;
Then you're accessing the transform of the GameObject tagged "Player", and not just trying to save the reference to the GameObject itself.
CHPedersen. Thank you so much for you're help and Henry for asking the question
this just saved a ton of trail and error. Thank you.
Answer by alok.kr.029.hotmail · Mar 11, 2014 at 08:49 AM
target = GameObject.Find("Hero").transform;
Your answer
Follow this Question
Related Questions
Finding object with transform 1 Answer
"GameObject.Find();" not working 2 Answers
Else Statement Not Working 1 Answer
Locating Position of Object not Working? 2 Answers
FindClosestEnemy() change target? 1 Answer