Вот мой скрипт который не желает работать.
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
public class EnemyMove : MonoBehaviour {
public Transform target;
public int rotationSpeed=2;
public float moveCoolDown;
public float waitTime=1;
private Transform myTransform;
void Awake (){
myTransform = transform;
}
void Start () {
if(moveCoolDown==0)moveCoolDown=5.0f;
}
void Update () {
if(moveCoolDown>0)moveCoolDown-=Time.deltaTime;
if(moveCoolDown<0)moveCoolDown=0;
if(waitTime<0)waitTime=0;
if(waitTime==0)waitTime=5;
if(moveCoolDown==0)RandomMove();
}
private void RandomMove(){
waitTime-=Time.fixedDeltaTime;
myTransform.RotateAround(myTransform.position, Vector3.up,Random.Range(-360,360)*rotationSpeed*Time.deltaTime);
if(waitTime<0){
RaycastHit hit;
Ray ray = new Ray(myTransform.position,myTransform.forward);
if (Physics.Raycast(ray, out hit)){
if(hit.distance>10)moveCoolDown=5;}
}
else{waitTime=5;
myTransform.position+=myTransform.forward * moveSpeed * Time.deltaTime;
waitTime-=Time.deltaTime;
if(waitTime<0)moveCoolDown=5;
}
}
}
using System.Collections;
public class EnemyMove : MonoBehaviour {
public Transform target;
public int rotationSpeed=2;
public float moveCoolDown;
public float waitTime=1;
private Transform myTransform;
void Awake (){
myTransform = transform;
}
void Start () {
if(moveCoolDown==0)moveCoolDown=5.0f;
}
void Update () {
if(moveCoolDown>0)moveCoolDown-=Time.deltaTime;
if(moveCoolDown<0)moveCoolDown=0;
if(waitTime<0)waitTime=0;
if(waitTime==0)waitTime=5;
if(moveCoolDown==0)RandomMove();
}
private void RandomMove(){
waitTime-=Time.fixedDeltaTime;
myTransform.RotateAround(myTransform.position, Vector3.up,Random.Range(-360,360)*rotationSpeed*Time.deltaTime);
if(waitTime<0){
RaycastHit hit;
Ray ray = new Ray(myTransform.position,myTransform.forward);
if (Physics.Raycast(ray, out hit)){
if(hit.distance>10)moveCoolDown=5;}
}
else{waitTime=5;
myTransform.position+=myTransform.forward * moveSpeed * Time.deltaTime;
waitTime-=Time.deltaTime;
if(waitTime<0)moveCoolDown=5;
}
}
}
В конце скрипт того что если объект повернулся то он должен идти,он взят с сайта где был подобный пример и он тоже не работает(
По-моему в скрипте с поворотом myTransform.RotateAround не тот запрос,ближайшим мне в справке показался этот. Если кто-нибудь знает как все это осуществить помогите пожалуйста.