Re: Внутри корабля
Все будит - и ствол и жизнь, дайте времени вагон)))
|
Re: Внутри корабля
Отсюда я беру идеи по оборудованию корвета:
Военное-дело -- Корабли-будущего Военное-дело -- Эсминцы |
Re: Внутри корабля
Интересный материал. Правда в роликах почти не упоминался внутренний дизайн кораблей, за исключением нескольких сравнительно коротких кадров.
P.S. Музыка в роликах взята из C&C3. :) |
Re: Внутри корабля
Да сори нужно уточнить, идея того что внутри корвета могут быть шаттлы это аналог того, что на современном судне есть вертолеты. Плюс круговой радар на американском дестроере.
Никогда не задумывался над музыкой :) Вот новый обзор. Это конечно еще не ИИ, но и не чистая анимация. Два манипулятора определяют место положения очередного блока, смещается к нему и запускает ответствующие анимации. В полном корабле отключения блоков компьютера будит влиять на работоспособность систем управляемых теми или иными блоками. ссылка для стачивания 12.rar пароль: KUPRUM 2 Управление то же, Как и прежде понадобится вивер - вот ссылка: Viewer.rar, пароль: viewer Управление: Передвижение так же и осталось при помощи стрелочек. LShift - фиксация курсора зажатая ЛКМ - вращение камеры щелчке ЛКМ иногда и ПКМ - кнопки действия F12 - рестарт сцены Пробел - ускорение в 3 раза R - скринсшот ESC - выход из программы Под конец загрузки прога долго стоит, но потом все равно погружается - пока не знаю с чем это связано, постараюсь убрать в дальнейшем. |
Re: Внутри корабля
Неплохо. Надо будет тебе космосимулятор делать. :)
Да не просто симулятор, а с элементами шутера при абордаже! :shotgun: :sniper: :guns: :cruiser: P.S. :lol: |
Re: Внутри корабля
А кто сказал, что я не делаю :laugh:
|
Re: Внутри корабля
Ничего не понял.
Какая коррекция нужна? Какого конкретно угла? p.s. В чём заключается задача? Может подскажу решение. |
Re: Внутри корабля
Есть два объекта - объект один это цель, объект два это ну пусть ракета, как определить куда должна лететь ракета что бы попасть в цель. Приведенная выписка формул мне встречается уже дважды, в учебнике по action script, и в примерах по esp creator. Проблемам в том, что эти формулы работают только для оси z.
|
Re: Внутри корабля
Я так понимаю, нужно плавно повернуть 3-мерный вектор к цели?
|
Re: Внутри корабля
Да хотя бы просто выяснить сколько и куда поворачивать, а дальше как нибудь сам))))
|
Re: Внутри корабля
Я бы посоветовал, для наилучшего результата:
|
Re: Внутри корабля
Спасибо, я опробую в этом разобраться, а представленные выше формулы тебе не знакомы? Там очень простой алгоритм с их применением выходит.
Как читается вот такое выражение p1[2] = p->z; ? ну то есть что значит знак ">" в нем? Это из "Произвести сферическую линейную интерполяцию (slerp)". |
Re: Внутри корабля
Quote:
Такое ощущение, что это обрывки всего алгоритма. Может быть достаточно, в этом случае, простой интерполяции векторов. Но с кватернионами поворот происходит по кратчайшей дуге, с учетом вращения вокруг оси. Добавлено через 12 минут Quote:
"->" - это оператор для косвенного доступа к переменным и методам объекта в C++. То есть: Если "p" - объект, то получить "z" можно так: "p.z". А если указатель на него, то так: "p->z". |
Re: Внутри корабля
Это чисто формулы, пример полного алгоритма такой (это Common Lisp)
Code:
(setq Xbase (nth 0(getobjectlocation Follower 1))) ; Позиция объекта который будит двигается за курсором получение положения курсора в пиксилях Code:
(setq x (nth 0 (getcursorpos))) Ниже различные варианты проигрывания анимации, в зависимости от условий Code:
(if (/= (pickobjectatpoint x y ) MeshName)(progn Получаем координаты куда кликнул пользователь Code:
(setq worldPoint (pickpointonplane x y '( 0 0 1 0))) Code:
(setq Xpos1 (nth 0 worldPoint)) ; cursor position Code:
(setobjectlocation Leader Xpos1 Ypos1 0) ; set cursor position object Code:
Xbase Ybase координаты следящего объекта Code:
(setq mag1 (sqrt (+ (pow Xvector1 2)(pow Yvector1 2)))) ; get magnatude/length of vector Code:
(if (< mag1 12) ;if teapot is getting close to the cursor, slow it down (using the distance + 2), else keep it fast Code:
(setq dir (atan (/ Yvector1 Xvector1))) ; get direction in radians Code:
(if (and (< Xbase Xpos1)(> Ybase Ypos1))(progn Code:
(setq CorrectedRadian (+ quad dir)) это замедление ротации, но почему то оно отключено Code:
;(if (and (< mag1 3)(> mag1 1.5))(setq CorrectedRadian (min (abs(+ OldRadian 1)) (abs CorrectedRadian)))) Code:
(setobjectrotation Leader 0 0 CorrectedRadian) Code:
(setq OldRadian CorrectedRadian) Code:
(exit T) \\__________________________________________________________________________ То есть z это внешняя переменная? Я знаком с C# а вот до C++ никак руки не доходят. Спасибо за помощь? попробую разобраться на выходных с этими алгоритмами)))) |
Re: Внутри корабля
Quote:
Code:
struct Quaternion Code:
Quaternion a; // объект класса Quaternion |
Re: Внутри корабля
М да придется поломать мозги, кажется понял. Меня всегда напрягало что в си нет глобальных переменных. Quaternion это выходит список или это целая функция?
А это как понимать? Quaternion * p отсюда это умножение? Code:
void Slerp(Quaternion * res, Quaternion * q, Quaternion * p, float t) |
Re: Внутри корабля
Quote:
Quaternion - это структура (в C++ - класс, где всё по умолчанию public). |
Re: Внутри корабля
Не, там тоже нет. Глобальные переменные есть в делфи, а в лисп они все глобальные.
Способы ссылки на переменные в C# аналогичен C++ Плохо что класс - значит оно мне тем более не канает. Не разрабатывать же его отдельно на лисп :confused: |
Re: Внутри корабля
Quote:
res - указатель (переменная, где хранится адрес кватерниона). В C# будет что-то типа: public static void Slerp(out Quaternion res, Quaternion q, Quaternion p, float t); |
All times are GMT +3. The time now is 07:52 AM. |