 |
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
06.07.2012, 22:34
|
#451
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
Phyton, по-моему способ создания никак не связан со скоростью обработки твоих ботов в игре. Если конечно эти 20 ботов не будет каждую секунду умирать и создаваться заново. Респавни убитого бота и не создавай нового. Хотя не думаю, что создать нового будет так медленно.
Не в тему, но ни у кого нет идей как сделать мягкое приземлении диаманта при падении? Т.е. чтобы он сначала немного проваливался в другой диамант, а потом как бы всплывал.
Сейчас у меня метод падения диаманта выглядит так
public void Fall(float height) {
speed += 18*Time.deltaTime;
speed = Mathf.Clamp(speed, 4, 100);
Vector2 oldPosition = position;
position.y -= speed*Time.deltaTime;
if(position.y < height) {
position.y = height;
}
speed = (oldPosition.y - position.y)/Time.deltaTime;
if( Mathf.Abs(speed) <= float.Epsilon ) speed = 0;
}
Как не пробовал сделать все равно какая-то фигня.
|
(Offline)
|
|
06.07.2012, 22:51
|
#452
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Вопросы от новичка
Phyton, Я написал ботов для своего шутера (поиск пути, атака, выбор оружия, распределение приоритетов,смерть, прыжки, поиск ближайших врагов\бонусов). 128 ботов в виде капсул воюют между собой без падения фпс. Так что, мне кажется, что магии оптимизации тут не надо.
|
(Offline)
|
|
06.07.2012, 23:23
|
#453
|
Разработчик
Регистрация: 20.02.2010
Сообщений: 397
Написано 173 полезных сообщений (для 565 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от is.SarCasm
Phyton, Я написал ботов для своего шутера (поиск пути, атака, выбор оружия, распределение приоритетов,смерть, прыжки, поиск ближайших врагов\бонусов). 128 ботов в виде капсул воюют между собой без падения фпс. Так что, мне кажется, что магии оптимизации тут не надо.
|
капсулы это капсулы, речь идёт об анимированых моделях...
|
(Offline)
|
|
06.07.2012, 23:36
|
#454
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Если сейчас тормозит, ждите Unity 4.0, там будет инстансинг анимированных мешей и возможность вмешиваться в пайплайн их рендеринга вроде. Правда не заню DirectX 11 это будет или на девятом буедт работать...
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
07.07.2012, 10:43
|
#455
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Вопросы от новичка
капсулы это капсулы, речь идёт об анимированых моделях...
|
Тогда тебе это не подвластно...пока.
|
(Offline)
|
|
07.07.2012, 13:18
|
#456
|
Разработчик
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений (для 883 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от Phyton
капсулы это капсулы, речь идёт об анимированых моделях...
|
Капсулы - это коллайдер. Анимированная модель - это меш. Две разные штуки для двух разных целей. Одна для физики, другая - для визуализации. Не понимаю, почему ты не хочешь использовать их вместе. Для ботов - это более, чем достаточно.
Или ты хочешь, чтобы физ.модель работала точь-в-точь как настоящая? Чтоб каждый треугольник на анимированной модели взаимодействовал с окружающим миром? Ну... Такого не бывает. 
|
(Offline)
|
|
07.07.2012, 13:50
|
#457
|
Разработчик
Регистрация: 20.02.2010
Сообщений: 397
Написано 173 полезных сообщений (для 565 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от cahekp
Капсулы - это коллайдер. Анимированная модель - это меш. Две разные штуки для двух разных целей. Одна для физики, другая - для визуализации. Не понимаю, почему ты не хочешь использовать их вместе. Для ботов - это более, чем достаточно.
Или ты хочешь, чтобы физ.модель работала точь-в-точь как настоящая? Чтоб каждый треугольник на анимированной модели взаимодействовал с окружающим миром? Ну... Такого не бывает. 
|
дело в том что я поставил 8 анимированных моделей в сцену и фпс резко падает, а что будет когда они начнут стрелять, и выполнять разные действия...
|
(Offline)
|
|
07.07.2012, 14:03
|
#458
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Вопросы от новичка
Дело в моделях. От того что они будут выполнять разные действия фпс скорее всего не изменится( так как там нагрузка на видеокарту, а тут на проц). Может у тебя там по 2лимона полигонов? 
|
(Offline)
|
|
07.07.2012, 14:04
|
#459
|
Разработчик
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений (для 883 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от Phyton
дело в том что я поставил 8 анимированных моделей в сцену и фпс резко падает, а что будет когда они начнут стрелять, и выполнять разные действия...
|
Так у тебя проблема не с оптимизацией ботов как таковых, а просто с анимированными моделями. Тьфу ты. Путаешь нас тут. )
Сколько треугольников содержит каждая из моделей? И сколько костей имеет каждая из них? Такое ощущение, что они у тебя очень тяжеловесные.
|
(Offline)
|
|
09.07.2012, 15:13
|
#460
|
ПроЭктировщик
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений (для 64 пользователей)
|
Ответ: Вопросы от новичка
По поводу миксования анимаций. Этот вопрос уже рассматривался мной. Раньше работало. Теперь не работает. Вот код:
using UnityEngine; using System.Collections;
public class WeaponAnimation : MonoBehaviour { public AnimationClip akIdle; public Transform torce; public void Start () { animation[akIdle.name].wrapMode = WrapMode.Clamp; animation[akIdle.name].layer = 1; animation.Stop(); animation[akIdle.name].AddMixingTransform(torce); } public void Update () { animation.CrossFade(akIdle.name); } }
В чем может быть причина? У меня 4 кости спины (spine, spine1, spine2, spine4). Я проверял каждую - безрезультатно.
PS: Анимация хотьбы, idle сделана с помощью locomotion.
|
(Offline)
|
|
09.07.2012, 18:11
|
#461
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
Сделал, чтобы мои диаманты мягко приземлялись) https://dl.dropbox.com/u/55489242/Di...WebPlayer.html Нормально выглядит?
После того как черт знает сколько поломал с этим голову решил тупо в корутине за несколько кадров смещать диамант сначала вниз, а потом вверх на исходную позицию)
public void Fall(float height) {
float oldSpeed = speed;
speed += 18*Time.deltaTime;
speed = Mathf.Clamp(speed, 4, 12);
Vector2 oldPosition = position;
position.y -= speed*Time.deltaTime;
position.y = Mathf.Max(position.y, height);
speed = (oldPosition.y - position.y)/Time.deltaTime;
if( Mathf.Abs(speed) <= float.Epsilon ) speed = 0;
if(!playingAnimation && speed < oldSpeed) {
playingAnimation = true;
float k = (oldSpeed-4)/(12-4);
StartCoroutine( LandingAnimation(oldSpeed, k) );
}
}
private IEnumerator LandingAnimation(float speed, float k) {
speed *= 0.4f;
k *= 0.3f;
while(offset.y > -k) {
offset.y -= speed*Time.deltaTime;
if(offset.y < -k) offset.y = -k;
yield return null;
}
while(offset.y < 0) {
offset.y += speed*Time.deltaTime;
if(offset.y > 0) offset.y = 0;
yield return null;
}
playingAnimation = false;
}
|
(Offline)
|
|
09.07.2012, 20:27
|
#462
|
ПроЭктировщик
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений (для 64 пользователей)
|
Ответ: Вопросы от новичка
Так. Вот что стало известно. Анимация по сути работает, но мне кажется что она распространяется только на ту кость которую я указал, а не на всю ветвь. Как можно сделать чтобы использовалась ветвь костей?
Код переписал:
using UnityEngine;
using System.Collections;
public class WeaponAnimation : MonoBehaviour {
public AnimationClip idle;
public Transform spine;
private void SetupGunAnimation (AnimationClip animationClip) {
AnimationState a = animation[animationClip.name];
a.wrapMode = WrapMode.Loop;
a.layer = 1;
a.AddMixingTransform(spine);
}
public void Start () {
SetupGunAnimation(idle);
animation.CrossFade(idle.name);
}
public void Update () {
}
}
Последний раз редактировалось pie, 09.07.2012 в 20:29.
Причина: Добавил скриншот иерархии модели
|
(Offline)
|
|
10.07.2012, 14:09
|
#463
|
ПроЭктировщик
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений (для 64 пользователей)
|
Ответ: Вопросы от новичка
Есть какие нибудь соображения?
|
(Offline)
|
|
11.07.2012, 13:07
|
#464
|
ПроЭктировщик
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений (для 64 пользователей)
|
Ответ: Вопросы от новичка
Снова всем привет! С вышеописанной проблемой справился. Возникла новая. На этот раз с тенями. Подробности на скриншоте.
|
(Offline)
|
|
11.07.2012, 14:07
|
#465
|
Разработчик
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений (для 883 пользователей)
|
Ответ: Вопросы от новичка
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:19.
|