Столкнулся с такой проблемой. Написал скрипт, повесил его на объект, настроил - работает.
Повесил этот же скрипт на другой объект, так же настроил - не работает.
Помогите, плз )
Синтаксис:
Используется javascript
var isActive = false;
var Target : Transform;
var _light : Transform;
var ray : Ray;
var hit : RaycastHit;
function Update() {
if (isActive) {
//
gameObject.transform.LookAt(Target);
gameObject.transform.Translate(Vector3.forward * Time.deltaTime*3);
}
else {
//
ray = new Ray (transform.position,Target.transform.position - transform.position);
if (Physics.Raycast (ray, hit, 15)) {
Debug.DrawRay (transform.position,Target.transform.position - transform.position, Color.red);
Debug.Log(hit.distance);
if (hit.distance < Target.GetComponent(Variables).lightRadius) {
_light.light.intensity = 1;
isActive = true;
}
}
}
}
var Target : Transform;
var _light : Transform;
var ray : Ray;
var hit : RaycastHit;
function Update() {
if (isActive) {
//
gameObject.transform.LookAt(Target);
gameObject.transform.Translate(Vector3.forward * Time.deltaTime*3);
}
else {
//
ray = new Ray (transform.position,Target.transform.position - transform.position);
if (Physics.Raycast (ray, hit, 15)) {
Debug.DrawRay (transform.position,Target.transform.position - transform.position, Color.red);
Debug.Log(hit.distance);
if (hit.distance < Target.GetComponent(Variables).lightRadius) {
_light.light.intensity = 1;
isActive = true;
}
}
}
}
Проблема в том, что isActive становится true на любом расстоянии.
А это Debug.Log(hit.distance); выводит всегда 0.
Хэлп )