public AudioSource a ; public AudioSource b ; public AudioSource c ; public AudioSource d ; public AudioSource e ; public AudioSource f ; public AudioSource g ; public AudioSource h ;
Такую вещь как массивы и циклы, пардон, не проходили? читать.
тоже самое и с
ЦитатаAdom ()
public bool shot; public bool show; public bool TDG; public bool TFK; public bool sound;
Код
public class Switchers{ public bool shot; public bool show; public bool TDG; public bool TFK; public bool sound; } using UnityEngine;
public class DubStep : MonoBehaviour { public Switchers MySwitchers = new Switchers(); }
И жизнь засияет новыми красками
Сообщение отредактировал Ranger - Вторник, 12 Ноября 2013, 16:52
Прыжок не равняется высоте персонажа, он может быть меньше, или больше в 3 раза.
Некогда сейчас готовый скрипт вписывать, поэтому на пальцах. длина луча до столкновения д.б. > роста персонажа.(рост персонажа это расстояние от transform.position до пола, когда персонаж стоит.) тогда флаг в тру..
пример рост персонажа 100.. он подпрыгнул на 1. будет: длина луча > роста персонажа. рост персонажа 100.. он подпрыгнул на 1000. будет: длина луча > роста персонажа. рост персонажа 100.. его вбило в пол на 5. будет длина луча < роста персонажа. остальное в доках ищи.
Я так понимаю AmInAir является произвольной переменной типа boolean?
Да, все правильно.
1. (более правильный, более сложный )вариант по высоте нахождения персонажа от пола. Raycast от персонажа вниз в препятствие. если это препятствие - пол (платформа, машина, поезд) и длина луча больше чем (задать ручками рост персонажа). AmIinAir = true. Данный метод будет работать также в том случае, если персонаж не прыгнул, а падает.
2. более простой. в момент прыжка = в тру, в момент коллизии с пол (платформа, машина, поезд) - фалс. // но могут быть баги
Сообщение отредактировал Ranger - Вторник, 12 Ноября 2013, 10:05
а ты сам видишь какой нибудь значимый функционал там?!
Ты знаешь, эта шняга достаточно гибкая, но тут все упирается в постройку архитектуры. Я себе это так понимаю:
Поведение необходимо будет разбить на кубики простейших действий пассивные смотреть, слушать, чувствовать, думать,................... активные дигаться, взаимодействовать, ждать, учиться,................
и потом както на объекте выстраивать из этих кубиков поведение, налаживая передачу информации между кубиками
Предполагаю, что получится очередной скриптовый язык программирования. Так что не все так просто.
ПыСы: Задача моделирования искусственного интелекта "в лоб" посредством имитации нейронной сети, на современных компьютерах не решается.
пыпысы:
ЦитатаKamiRonin ()
я увлекаюсь темой полноценного ИИ (не только поиск пути и управление навмешами).
тогда это будет интересно (хоть и поиск пути, но забавный):
Сообщение отредактировал Ranger - Вторник, 12 Ноября 2013, 10:42
seaman, Тут скорее задвоение (затроение, и т.д.) robertono не удаляет базовые меши после создания большого меша
robertono, посмоьтри и попробуй следующее: 1. возможна ошибка в скрипте : в новый меш входит старый меш + все(!) меши объектов, а не только новорожденные
2. оценивай количество памяти соразмерно генерации объектов. количество занятой памяти должно рости линейно от количества объектов. если растет по экспоненте, значит ты дублируешь данные в меш. (см п.1)
3. Посмотри Destroy чего ты делаешь. Возможно, что Destroy убивает объект, а не удаляет меш. Сделай руками вызов дестроя меша из скрипта. проверь экземпляр меша он д.б. равен null
Сообщение отредактировал Ranger - Вторник, 12 Ноября 2013, 05:31
нее... ну посмотри по статистике.. я не помню как это назвается отображение DC и вершин.UnityStats.drawCalls ,UnityStats.triangles ,UnityStats.vertices
Я так понял, что запиливание в 1 меш было вызвано задачей оптимизации. Я не ковырял, но, мне кажется Юнитине будет осекать вершины внутри мешей.
внутри ее будет вызвана Eat, соответствующая тому, что мы передадим в качестве параметра. Если Хищник - то будет искать мясо, если Грызун, то растения. Ощущаете удобство?
А если еще по ходу выполнения добавлять животным как компоненты скрипты поведения (трусость, смелость, агрессия), такую экосистему можно собрать .
Сообщение отредактировал Ranger - Понедельник, 11 Ноября 2013, 08:30
allods, скорее всего чтото в неправильном порядке выполения скриптов Может быть также что в ядре при инициализации уже быда заложена скорость. Debug.log каждый выстрел. Смотри на rigidbody.velocity. и массу объекта. По необходимости ручками нули скорость regidbody.velocity = new vecTor3 (0,0,0);
К тому же твой код приведет к тому что камера дернется один раз. А она должна трястить, это сколько подобных строчек нужно будет написать?
А в update не судьба засунуть?? только настрой таймер, а то она у тебя трястить будет со скоростью ФПС. Геймеры будут в эпилептических припадках валяться
ЦитатаNEBR ()
для этого нужно несколько раз запустить сцену, подбирать нужное значение.
Один раз достаточно. Выведи K в паблик переменную и подбери "на лету".
ЦитатаRanger ()
Вот я и говорю что проще будет сделать анимацию за одну минуту.
Хозяин-барин..Чо.
Сообщение отредактировал Ranger - Воскресенье, 10 Ноября 2013, 14:06
В чем проблема 1. создаешь отдельный вектор vector3 который отвечает за позицию камеры Vector3 MyPos; 2. меняешь его, как нужно тебе по задаче. 3. Когда трясет: