Прошло пол года, хоть какой то результат у команды есть? Печально конечно, но по отношению к "Механоиды", ничего дальше слов не делается. За исключением конверторы модели и текстур, нр для этого не требуется такого усердия как доведения МОДа/игры до конца.
Quote (Frozen_Light)
неплохо, хотя некоторые моменты... впрочем, мелочи. Видишь и сам, я думаю.
Понятно что есть недочёты, всё равно говорите какие недочёиы.
Прошло пол года, хоть какой то результат у команды есть?
В принципе, весь успех зависит от того, насколько скоро появится движок. И от того, насколько скоро все остальные смогут вкурить суть работы на нем. Я полон оптимизма. Человечество преодолело законы морали, почему бы ему не преодолеть законы физики?
В принципе, весь успех зависит от того, насколько скоро появится движок.
Когда всё начиналось, не смогли даже точно определиться на чём будет делаться игра. И никто не подозревал что я и Разиль сможем сделать хотя бы то что есть сейчас.
Quote (Frozen_Light)
И от того, насколько скоро все остальные смогут вкурить суть работы на нем.
Лучший способ вникнуть в новый движок, это делать его.
Что это за команда которая ждёт движок а не делает его ?
Я, если честно, не знал, что ты не хотел. Просто наблюдал твою активность. И сделал для себя некоторые выводы.) Я полон оптимизма. Человечество преодолело законы морали, почему бы ему не преодолеть законы физики?
Предлагаю при сохранении файлов придерживаться некой единой номенклатуры, чтобы не было бардака. Все файлы, имеющие отношение к игровым объекам называть по следующему шаблону: классобъекта_имяобъекта_типфайла.формат Класс объекта - например, gl(глайдеры), bld(здания), obj(статические объекты) Имя объекта - например, first1(смерч), base(база), radar(радар) Тип файла - например, mod(модель), modpc(физ. модель), tex(текстура), texfx(текстура эффектов)
Блин, у меня получается такой отстой... Obj все группы сглаживания путает.
Добавлено (28 Сен 2009, 12:40) --------------------------------------------- PA3UJIb, а контакт с поверхностью у тебя есть? Я-то сколько пробовал сделать это грамотно и хорошо, но у меня не получилось. А еще надо гашение колебаний, потому что антиграв у меня такое вытворяет... (Я-то его сделал, но оно ОТСТОЙНОЕ)
Хочется сделать это без всяких там PhysX и прочего. Ведь вроде как все просто, только это так с точки зрения математики, а вот на OGRE... На форумах никто ничего конкретно не пишет, пишут только: "Подруби библиотеку и не мучайся".
Может, кто-то уже что-то такое делал?
Добавлено (28 Сен 2009, 12:47) --------------------------------------------- Короче, самый рахитский способ, который я делал: тыкал кучу интерсекторов и нащупывал поверхность. Это, сразу скажу, полный отстой. А больше ничего и не получилось.
Только несколько замечаний.Название физ. модели должно быть как у отображаемой модели с окончанием. Ты написал pt, а надо было написать pc. Расшифровка окончаний: PT - PhysXTriangle - модель состоит из треугольников. PC - PhysXConvex - ВЫПУКЛАЯ модель строится из вершин.
Модель должна быть направлена вдоль оси Y, в 3DsMax-е.
Ага. Учту. Почему, кстати, модель проходит сквозь поверхность? С чем это связано? Я полон оптимизма. Человечество преодолело законы морали, почему бы ему не преодолеть законы физики?
Аха. Как я и предполагал. Значит, надо делать ее как минимум сильно приближенной к поверхности. Я полон оптимизма. Человечество преодолело законы морали, почему бы ему не преодолеть законы физики?
PA3UJIb, а контакт с поверхностью у тебя есть? Я-то сколько пробовал сделать это грамотно и хорошо, но у меня не получилось. А еще надо гашение колебаний, потому что антиграв у меня такое вытворяет... (Я-то его сделал, но оно ОТСТОЙНОЕ)
Шо ты имеешь в виду, говоря "контакт с поверхностью"? В PhysX можно любому полигону назначить свой матриал, который и будет отвечать за процесс контакта (если ты этот контакт имеешь в виду).
Кстати, чет у мну вчера этот сайт и форум его не хотели грузиться. Типа загрузка идет и идет, а ничего так и не загружается. Тормозит оно и все тут.
Quote (Frozen_Light)
надо делать ее как минимум сильно приближенной к поверхности.
Это ужасно сказывается на производительности, плюс при контакте модели она себя будет вести некорректно. Я как-то попробовал приписать физ.объекту массу какая значиться в игре (4000 кг), так у меня глайдер прыгать все никак не переставал.
Свойства материала надо было наверно изменить - "прыгучесть".
"0" стояло там. Лучше, наверное, не свойства материала, а параметр NX_BOUNCE_THRESHOLD задать побольше.
Quote (Krogoth)
А как это сделано в PhysX?
Там можно определить новый материал и запихнуть его в таблицу материалов, попутно сохранив его индекс. Потом просто при создании физичекого тела (в той, части, которая отвечает за столкновения) указать этот индекс. Если физ.тело создается не примитивом, а из сложной модели (то есть используется либо Convex, либо Triangle), то там при загрузке инфы о полигонах можно указать необходимый индекс материала.
Здорово. Только качается слишком долго и слишком сильно, мне кажется. Я полон оптимизма. Человечество преодолело законы морали, почему бы ему не преодолеть законы физики?
В ОГРЕ для положения объекта в пространстве используются узлы (node). У меня для игрока две ноды: основная, к которой крепиться камера и нода глайдера. Положение в пространстве ноды глайдера определяет физ.модель. Основная нода только получает координаты, куда передвинуться. Также ОГР позволяет получить для ноды ее текущую ориентацию - используя ориентации основной ноды и ноды глайдера, я вычисляю угол на который повернулась нода глайдера по каждой из осей (х, у, z) в радианах. Угол уже со знаком. Потом просто делаю вектор из этих углов с коэффициентом 0.25 и передаю его в addTorque().
Добавлено (01 Окт 2009, 07:30) --------------------------------------------- Проблема сейчас в том, что углы я вычисляю через Китай, и получаю такую каку http://slil.ru/28032513
3 раза прочитал что ты написал, так и нечего не понял. Видимо твой способ не подойдёт к моему движку. Я никакие нодф не использую. А что это такое, ноды ?
Это логическая структура в ОГРЕ, которая позволяет контролировать положение игрового объекта в мировом пространстве. Их можно создавать сколько угодно, можно одно к другому цеплять, взаимоотношения у них тогда будут родитель-потомок (то есть дочерняя нода наследует все движения родительской ноды плюс ее саму еще можно двигать и поворачивать). Вот, например, игрок в моей деме состоит из 4х нод: основная нода; нода камеры, смещенная относительно основной назад и вверх; нода цели, то есть куда смотрит камера; и нода глайдера.
Я подумал, что в ОГЛесть нечто подобное. Если нет, то как-то ты же управляешь положением объекта.
Не, матрицы и ноды в ОГРЕ не одно и то же. Нода это объект, ему говоришь, там, setPosition и он переместится в новую позицию, млм говоришь setScale и он отмасштабируется как надо с соответствующим коэффициентом по каждой из осей, или вот setOrientation - этой функции передаешь кватернион и объект принимает нужную ориентацию в пространстве.