По поводу пруфов, кстати. Можно посмотреть их в Doom3 SDK Game->Physics->Push.h и .cpp Отключать старую физику нельзя - монстры и игроки начинают слетать с подвижных платформ и вообще всячески страдать.
По поводу вращения в квейке арчи всё уже сказал - вращаемой геометрии на карте в Q1 не было, хотя препятствий к его реализации именно в движке тоже не было. В модах на ку1 вращение даже добавили. С кватернионным вращением иды тоже протормозили: вообще до q3, но условно до Rage а то и после. Суть проблемы в том, что из редактора ("с карты") нельзя создать самое естественное вращение - вращение вокруг некоторой оси с заданной угловой скоростью (как раз это и описывает кватернион). Можно только задавать одну из трёх координатных осей и скорость (до D3) и скорости по всем трём координатным осям в D3. Составные объекты (bind) тоже у идов завёлся только в д3, хотя мог бы хорошо существовать уже в ку2 и с некоторыми лимитами даже в ку1 и приносить былинный профит. Касательно вопроса о былинном профите рекомендую попробовать сделать в первом квейке лифт с дверками (как в д3). Скелетная анимация у идов тоже на подхвате - её в HL1 впилили изначально, а в ку3 уже иды догоняли.
Про режиссёров я хотел сказать о простой вещи. В кино не может быть ветвлений, поэтому режиссёры всяко думают линейно, ну или вспоминают, что опа, игрок то тоже кнопки жать может... и дальше мыслят, например, аж двумя сюжетными линиями вместо одной обычной. Это сказывается и на картах для игр в том числе, но где берут ту самую картинку я уже забыл. Проблема режиссёров в том, что игра это не одна, и не две и не сотня линий. Это пространство целиком. Вот на это им мозгов как-то обычно не хватает, а жаль.
Наверное это удачный кадр. Я в игре вообще динамических теней не встречал. После офигенного освещения в Doom 3 то, что показали в раге - полный отстой.
Плохо искал, значит, все тени там на месте Вот еще удачный кадр. Разве что цветовая гамма несколько "засвеченная" - это отвлекает и делает картинку равномерней в плане контраста.
Кстати, насчёт "офигенного" освещения - тени в Doom3 контрастнее и у них острые края ( что является технологическим недостатком ), от того они заметнее + замкнутые пространства способствуют + расчёт теней дума происходит по совершенно другому алгоритму, нежели в Rage.
+ в Rage многое перекрывает направленный источник - "солнце" + у них большие значения для ambient-света.
Archi :
Я наверное должен заметить, что речь выше шла только про моддинг и движок, а не про сами игры.
Я говорю непосредственно о движке и технологиях, лежащих в основе.
Вот геймплей нового Wolfenstein, который делается на том же самом id Tech 5, что и Rage. Все тени на месте.
Насчёт вращения и кватернионов:
Скрытый текст:
c4tnt :
вращение вокруг некоторой оси с заданной угловой скоростью (как раз это и описывает кватернион)
Эээ нет, брат Кватернион - это продолжение комплексных чисел в трёхмерном пространстве, в самом простом случае описывающее ось и угол поворота вокруг этой оси. Если x,y,z - ось, а T - угол поворота, то кватернион Q = ( x * sin( T ), y * sin( T ), z * sin ( T ), cos ( T ) ); Иногда используют T/2, но это уже тонкости.
В использовании кватернионов для вращений есть много подводных камней, а использование матриц поворота делает всю необходимую работу ( разве что медленнее, т.к. умножение двух матриц 4х4 - это медленнее, чем умножение двух кватернионов 1х4 ) + кватернионы при правильном использовании выпиливают проблему наложения осей вращения ( т.н. gimbal lock ) + они накапливают вращение при умножении друг на друга.
c4tnt :
С кватернионным вращением иды тоже протормозили: вообще до q3, но условно до Rage а то и после.
Вот, например, кватернион в Doom 3 BFG и вот - в обычном Doom 3, вполне логично предположить, что кватернионное вращение там есть
Товарищи моддеры, простите, я больше по части C++ и прочего кода, нежели редакторов и/или модов/мапов Поэтому может мы говорим об одной и той же вещи, глядя с разных сторон
Насчёт скелетной анимации - тут да, Valve - молодцы
Вчера прочитал про тернистый путь разработки Doom4 - от анонса на Quakecon, через development hell, заморозку, и перезапуск с нуля с сегодняшним молчанием от id - стало грустно. Последнее что звучало от самих id, что я сумел накопать насчёт последней части Doom ( помимо объявок о бете в роликах вольфа ). Хотя id всегда были молчунами
Меня вот что интересует - притопает ли Кармак на Quakecon этим летом ?
Вот, например, кватернион в Doom 3 BFG и вот - в обычном Doom 3, вполне логично предположить, что кватернионное вращение там есть
Замечательно. Именно потому, что оно там есть, я не могу сделать вращающийся относительно небазисного вектора вентилятор, который прикреплен под углом.
Nkerah :
Кстати, насчёт "офигенного" освещения - тени в Doom3 контрастнее и у них острые края ( что является технологическим недостатком ), от того они заметнее + замкнутые пространства способствуют + расчёт теней дума происходит по совершенно другому алгоритму, нежели в Rage.
Естественно по другому, тогда даже таких технологий не было, чтобы тени нормальные рисовать. И они все равно офигенные, именно такие, какие нужны в мрачных технических помещениях.
Nkerah :
+ в Rage многое перекрывает направленный источник - "солнце" + у них большие значения для ambient-света.
Убогий чрезмерный эмбиент я могу и в д3 поставить.
Nkerah :
Товарищи моддеры, простите, я больше по части C++ и прочего кода, нежели редакторов и/или модов/мапов
Если для того, чтобы сделать то же вращение, мне придется лезть в код, то для меня этого вращения нет в игре.
Ну я просто подумал, что вот конкретно на этом ресурсе такие тонкости нужны не более чем 1.5 анонимусу. Про тонкости: терминология вообще штука тонкая. Кватернион можно хоть в цвет превратить при желании, только будет ли с этого прок. Ну или матрицы использовать как таблицы. Обычно всё же стараются использовать те объекты как основу для описания, стандартные операции над которыми к этому описанию применимы и дают какой-то смысл. Есть ещё путь STL, в котором, например, есть вектор, не умеющий ничего векторного. Но это плохая идея. У кватернионов, если их не воспринимать просто гиперкомплексными числами, есть приложение в виде хранения оси вращения и угла поворота вокруг неё, а так же там применимы операции, которые применимы обычно к кватернионам. Никто не мешает, конечно, выдернуть конкретно эту логику из кватерниона и использовать как какой-нибудь rotOrigin совсем отдельно. Проблема в том, что всё равно получится кватернион. Так то в д3 и покруче объекты встречаются, например idPluecker.
Про то, что в д3 кватернионы есть, я знаю - поэтому и написал что вообще до Q3, но условно до Rage. А условно до Rage потому, что через редактор до них достучаться нереально ни в думе ни в квейке. Инструментов для таких вращений тоже не обнаружено. В ненормированном кватернионе есть, конечно, кое-какая лишняя (хотя, кому как - в физике это активно пользуют ) информация, но про матрицы 4х4 это вы загнули. А именно - хотел бы я посмотреть на код, осуществляющий плавный поворот из одного положения, заданного матрицей в другое. (Пока такого кода нет и имеем аж три альтернативы вращения, прибитые гвоздями к координатным осям)
Ну и то, зачем я это вообще писал в этой теме, а не в вопросах по маппингу и моддингу: У Кармака не было, нет и не будет, скорее всего, каких-то особых технологий пришельцев в плане построения игровых движков. Сейчас крутые технологии есть, но они не у Кармака и даже не у крайтэка и даже не в UnlimitedDetail движке (кстати, выглядит так, как будто те ребята зашли таки в тупик. Впрочем, профит они всё равно поимели). Я так подозреваю, что у Кармака была забавная способность заглядывать в книги по математике и читать, что там написано - среди программистов довольно редкий дар кстати.
Вопрос к тебе не по теме: - Вот ты знаешь C++. Есть смысл его изучать? Можно с этими хнаниями написать хоть какую-нибудь полезную програмку или утилитку? Или всё это не нужно тому, кто для себя програмирует?
Если писать всякую мелочёвку, то лучше, конечно Managed языки. C#, Java, всякие D и Rust-ы. Плюсы это всё ещё системный язык, как и си, и его изучать до нормального уровня владения просто довольно долго. Ну и нужно знать много сопутствующего (ассемблер, например) чтобы не творить мировое зло в рамках отдельно взятого языка. Если хочется именно си с плюсами, то можно попробовать в комбинации с QT или STLBoost. В этих фреймворках реализовано довольно много из того, что обычно делают руками и для новичков это неплохо в общем. Вообще, главный смысл использования си в том, что там можно выкинуть стандартную платформу если она вдруг перестала помогать и начала мешать. В яве или шарпе это просто нереально. Итого, наверное, так - если хочешь сделать что-нибудь типа убийцы здума когда-нибудь в будущем, ну или просто какой-нибудь эпик сделать хочется всё же, то в плюсы вникнуть стоит рано или поздно. Если от программирования нужна только утилитарщина, то нет.
Можно с этими хнаниями написать хоть какую-нибудь полезную програмку или утилитку?
Очевидно, можно. Поскольку знание любого языка и определяется способностью написать то, чего хочешь.
Или всё это не нужно тому, кто для себя програмирует?
Зависит только от твоих интересов. Если это игры и обработка больших объёмов данных, то managed языки могут просто не протащить (например, питон и модель на 5M вершин ). С обработкой видео и всякими эксперементами на тему компьютерного зрения итп та же проблема, да и вообще вся грань технологий требует.
И ещё один момент - если хочется полноценно изучить C++ то не нужно сразу лезть в шаблоны и Александреску. Это только излишний вывих мозга. Лучше начинать снизу, то есть с ассемблера. Знание ассемблера позволит таки понять что есть указатель и косвенные операции вообще. а остальное содержимое С++ через это просто и логично формулируется.
Если такие вообще будут.
А Гигером вроде как вдохновлялись при создании дума, если я не ошибаюсь, а теперь ни Гигера ни самих идов толком (только торговые марки и остались)
Наивно было и надеяться, что мир остаётся неизменным - всё-таки столько времени прошло. Я бы сказал мир стал хуже, более двух десятков лет вместо будущего общество тянулось само и активно заталкивалось властями в прошлое - мрачное прошлое, холодная война и тупая жвачка для быдла готового идти на убой с лишенным на смысла криком "Да смерть!", и культура и политика - всё стало каким-то безысходно мерзким, как в гавно залезть...
Не понимаю, чего они возятся с этим Окулосом, ведь это не массовый продукт, даже если и дешёвый будет (что врядли). Какой кайф, как болвану сидеть в этом шлеме, когда например кругом люди? Даст кто-нибудь леща, и поди угадай, кто это сделал? Лучше бы думали - как сделать 3D мониторы без очков - вот это реально нужно.
А очки пока что одна из самых крутых вещей, которые в игроиндустрии произошли.
А насколько я помню очки аля окулус существовали буквально в прошлом веке-можете погуглить. И окулюс-суть есть мотошлем с наушниками и дисплеем. Так что Ваш сарказм и фанатизм мне не понятен.
А насколько я помню очки аля окулус существовали буквально в прошлом веке-можете погуглить. И окулюс-суть есть мотошлем с наушниками и дисплеем. Так что Ваш сарказм и фанатизм мне не понятен.
Существовать недостаточно, нужна поддержка. И сколько игр поддерживали те шлемы, которые еще в 80-х и ранее были?
И сколько игр поддерживали те шлемы, которые еще в 80-х и ранее были?
Вроде оклюс позиционировалось как новаторское изобретение ,а не старое на новый лад? И смею заметить что окулюс в данный момент поддерживает 0 и не известно изменится ли количество .
Вроде оклюс позиционировалось как новаторское изобретение ,а не старое на новый лад? И смею заметить что окулюс в данный момент поддерживает 0 и не известно изменится ли количество .
A man named Oliver Kreylos has put together a nifty VR environment using an Oculus Rift headset coupled with a trio of Kinect 3D cameras.
The cameras put him inside a virtual world in real time, and the experience is apparently quite immersive despite the low-quality graphics.