Всем доброго времени суток. Подскажите пожалуйста - как реализовать появление НПЦ (обычных, не квестовых), на пути главного героя, например при передвижении по городу? Можно как то назначить зону респа НПЦ? или просто кучей точек, и при приближение к зоне (точкам) спаунились НПЦ ? Ну, или возможно какие-то более лучшие способы подскажите) И еще один вопрос - Что требует наибольшего внимания при оптимизации (модели, шейдеры, скрипты, материалы или что-то еще)(по статистике) ?)
Сообщение отредактировал MooDuck - Вс, 16 Мар 2014, 17:57
Вот простейший скрипт спавнера. Вешаешь на пустой объект. Создаешь точки спавна (тоже можно пустые объекты) в тех местах где тебе нужно появление персов. Именуешь их по разному - Sp1, Sp2 и т.д., что бы не путались. В объекте со скриптом указываешь эти спавнеры и там же указываешь кто будет спавнится, а так же общее количество всех объектов, которые могут появится до отключения скрипта (например 500). Ну и время, с интервалом которого они респятся. Можно всех мешать в одной куче - зомби, яблоки, патроны и т.д. Но лучше сделать базу для Зомби - 1 шт, для Патронов еще 1шт и так по всем предметам отдельный спавн объект. Меньше путаницы и можно отключать для теста (например смотришь работу патронов, но при этом враги не мешают.).
var spawnPoints : Transform[]; var enemyPrefabs : GameObject[]; var amountEnemies = 20; var yieldTimeMin = 2; var yieldTimeMax = 5;
function Start() { Spawn(); }
function Spawn() { for (i=0; i<amountEnemies; i++) { yield WaitForSeconds(Random.Range(yieldTimeMin, yieldTimeMax));
var obj : GameObject = enemyPrefabs[Random.Range(0, enemyPrefabs.length)]; var pos: Transform = spawnPoints[Random.Range(0, spawnPoints.length)];
Instantiate(obj, pos.position, pos.rotation); } }
p.s. Если нужно появление именно при приближении перса, допиши в скрипт активацию его работы по срабатыванию триггера (перс вошел в дом - появились враги), или по определенной дистанции до игрока от точек респа. Не игры делают людей злыми. Лаги делают!
Сообщение отредактировал SeriousMax - Пт, 21 Мар 2014, 23:12