- Home /
Simple Enemy AI not working : NullReferenceException: Object reference not set to an instance of an object
so im trying to get some simple enemy AI down and when i get within the look distance of my enemy it goes yellow as expected, but then i get the error:
NullReferenceException: Object reference not set to an instance of an object EnemyAI.lookAt () (at Assets/scripts/EnemyAI.js:33) EnemyAI.Update () (at Assets/scripts/EnemyAI.js:16)
after that the turn red within a curtain distance and follow function stops working.
here is the script:
var Distance;
var Target : Transform;
var LookAtDistance = 25.0;
var AttackRange = 15.0;
var MoveSpeed = 5.0;
var Damping = 6.0;
function Update ()
{
Distance = Vector3.Distance(Target.position, transform.position);
if (Distance < LookAtDistance)
{
renderer.material.color = Color.yellow;
lookAt ();
}
if (Distance > LookAtDistance)
{
renderer.material.color = Color.green;
}
if (Distance < AttackRange)
{
renderer.material.color = Color.red;
attack ();
}
}
function lookAt ()
{
var Rotation = Quaternion.LookRotation(Target.position - transform.position);
transform.Rotation = Quaternion.Slerp(transform.Rotation, Rotation, Time.deltaTime * Damping);
}
function attack ()
{
transform.Translate(Vector3.forward * MoveSpeed * Time.deltaTime);
}
can anyone help?
P.S im a noob so please explain in simple terms please ^^
Answer by tanoshimi · Sep 02, 2014 at 03:09 PM
Try:
transform.rotation = Quaternion.Slerp(transform.rotation, Rotation, Time.deltaTime * Damping);
not:
transform.Rotation = Quaternion.Slerp(transform.Rotation, Rotation, Time.deltaTime * Damping);
And have you dragged an object into the "Target" slot in the inspector?
And, while we're at it...
var LookAtDistance = 25.0;
var AttackRange = 15.0;
var $$anonymous$$oveSpeed = 5.0;
var Damping = 6.0;
should be:
var LookAtDistance : float = 25.0;
var AttackRange : float = 15.0;
var $$anonymous$$oveSpeed : float = 5.0;
var Damping : float = 6.0;
Answer by evildumdum · Sep 03, 2014 at 05:05 PM
figured out the problem myself, i had attached the wrong character controller
Your answer
Follow this Question
Related Questions
Can someone help me fix my Javascript for Flickering Light? 6 Answers
Setting Scroll View Width GUILayout 1 Answer
I can't script enemy animation 0 Answers
I can do this in JS or not ??? 2 Answers
AI wandering script needs help. 0 Answers