赤い球に入った敵AIだけを有効にする工夫。
カメラに見えないオブジェクトをunableにするOnBecameVisibleもあるけれど、
http://www.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/ScriptReference/index.Performance_Optimization.html
背後からも敵には撃ってきてほしいので、
「プレイヤーを包む球の中に敵がいたらAIが起動する」のが良い。
今回は、プレイヤーの球の中に敵がいると、ランダムウォーク(恐れて震える)する。
PlayerにはenemyWakeUpSphereという赤い半透明の球を付けていて、
その球と敵とがヒットしたことをTriggerで取得している。
赤い球はTrigger Volumeと言うようです。
var isEnable = true;
var randomWalkIntensity = 0.01;
function Update () {
if(isEnable==true){
randomWalk();
}
}
function randomWalk(){
var r = randomWalkIntensity;
var rX = Random.Range(-r,r);
var rY = Random.Range(-r,r);
var rZ = Random.Range(-r,r);
transform.Translate(rX, rY, rZ);
}
function OnTriggerEnter( c : Collider ){
if(c.name=='enemyWakeUpSphere'){
isEnable = true;
}
}
function OnTriggerExit( c : Collider ){
if(c.name=='enemyWakeUpSphere'){
isEnable = false;
}
}