Форум - Russian Tournament » Общение » Творчество » Unreal Tournament: Renaissance Continuation (sml[pho]) |
Unreal Tournament: Renaissance Continuation |
1, 29 Марта 11 16:58
|
2, 29 Марта 11 17:27
камера как в UED)
|
3, 30 Марта 11 10:31
Quote Запуск программы невозможен, так как на компьютере отсутствует d3dx9_43.dll. Попробуйте переустановить программу |
4, 30 Марта 11 11:26
same( в потесть хочется(
|
5, 30 Марта 11 11:50
Dragon, выложи скрины движкa.
А вообщe в идeaлe двиг: 1. Нужны стaтик мeши 2. Нужны скeлeтaл мeши 3. Нужно точeчноe освeщeниe 3 видов: обычноe кaк лaмпочкa, скaй лaйт который покрывaeт всю кaрту однородным свeтом и aнaлог прожeкторов. Вопрос: Добавлено (30 Март 11, 15:50) |
6, 31 Марта 11 10:50
Quote (Felix) Запуск программы невозможен, так как на компьютере отсутствует d3dx9_43.dll. Попробуйте переустановить программу аналогично Добавлено (31 Март 11, 14:50) |
7, 03 Апреля 11 18:24
Проект продолжает развиваться. За время моего отсутствия, я успел немного освоить графические библиотеки DirectX 9.0 Да, теперь я буду использовать именно девятку, программирование под нее гораздо проще, чем под десятую версию. Да и есть она у большинства игроков.
Мне удалось, наконец-то создать графический двиг, со следующими возможностями: 1) Теперь можно создавать неограниченные по кол-ву точек и треугольников карты. Управление свободное, физика взаимодействия отсутствует. Собственно, потому-что тут раздел про графику:) Необходимо протестировать версию движка, назовем ее v1.0.0. Основной вес в архиве имеют текстуры. P.S. Обязательно отпишитесь при обнаружении ошибок или если все ОК=) Вот только НЕ ЗДЕСЬ, а в теме про обсуждение! Добавлено (03 Апрель 11, 22:24) RT - это Rammstein=) |
8, 03 Апреля 11 18:28
Не могу понять, почему программа требует этот файл. И почему у меня на компе он есть, а на остальных машинах они отсутствуют. В любом случае, проблема решена простым копированием. Правда, этот файл весит 2 мегабайта, что не сравнимо по степени, с самим ядром движка.
Добавлено (03 Апрель 11, 22:28) RT - это Rammstein=) |
9, 03 Апреля 11 18:39
так, затестил.
ФПС огромен, там текстуры любого формата можно сувать? BMP например? Квадраты там можно создавать и менять их размер? Ну а пожелания - смотри пост номер 6 =) Если тебе нужны картинки на HUD, я тебе их найду, ты только попроси |
10, 03 Апреля 11 18:59
Давай с пнг)))))
|
11, 03 Апреля 11 19:27
Ах, да, забыл ответить на вопросы)
- Нужны стaтик мeши Уже реализовано на DirectX, функции загрузки сужествуют, можно будет добавить, когда усовершенствую движок. У них вроде формат .X и из можно в 3DMAXе делать или др. редакторе, где есть плагины конвертации в формат статик-мешей. Но сейчас я думаю, что это тупость, они ухудшат карту своей статичностью. Я пока не знаю, как вытащить из них список треугольников. 2. Нужны скeлeтaл мeши -Это уже надо создавать. Поговорим об этом, когда будет хоть какая-то графическая часть. 3. Нужно точeчноe освeщeниe 3 видов: обычноe кaк лaмпочкa, скaй лaйт который покрывaeт всю кaрту однородным свeтом и aнaлог прожeкторов. В DirectX 9.0 уже есть 3 типа источников света: 1)point light или лампочка Сейчас освещение расчитывается по нормалям (векторам) и пока нет карты освещения на текстурах. Т.е. расчет идет по точкам в углах треугольника. Это хорошо работает с direct light, но для других нужны "текстуры освещения". Вообщем, еще предстоит работать над этим. - Какое ограничение имеют текстуры на разрешение в движке? Это ограничего типом видеокарты. Для большинства современных, размер 256x256 или 512x512 будет максимальним. Ширину текстуры рекомндуется брать равной степени двойки, т.к. это ускоряет расчет, но это не обязательное условие работы, т.к. эта необходимость исчезла с уходом старых видях - eщё должны быть хорошиe тeни Проблема такая-же, как с освещением, нужна область памяти, где надо записывать уровень освещенности треугольников. Тогда будут и тени и нормально освещение, а пока я не знаю, как это сделать. - там текстуры любого формата можно сувать? BMP например Если с jpg работает, то bmp формат точно будет грузиться. Можешь потестить различные форматы и огласить список) Функция загрузки уже была прописана в инклудниках, я не знаю, на что она способна) -Если тебе нужны картинки на HUD, я тебе их найду, ты только попроси =) Спасибо. Я пока экспериментирую. Можешь сам добавить в карту (файл map.txt) Если кому-нибудь надо, могу написать небольшой мануал о том, как с помощью простого блокнота в этом файле создать любую карту) Но тут надо неслабое пространственное воображение, что-бы не ошибиться в координатах. Возможно, скоро напишу и редактор. Хорошо, сейчас в соседнем теме дам описание формата. И всем спасибо за тестирование движка) Добавлено (03 Апрель 11, 23:27) RT - это Rammstein=) |
12, 03 Апреля 11 19:32
Quote (DragonFlyPilot) Если с jpg работает че жпг работает? омг!)) прикольно |
13, 03 Апреля 11 21:20
Со временем будет редактор, и данная статья устареет, но пока его нет, писать будем в блокноте)
Итак, из чего состоит этот формат? Тут есть 4 пункта (по порядку): 1) Данные о камере (пока, только ее начальное положение) Итак, #1: Начинается и заканчивается 1 пункт тремя координатами, записаными через пробел. Дробная часть отделяется ТОЧКОЙ, а не запятой. Это координаты по X, Y, Z. X и Z - именно Z а не Y - координаты на плоскости, X - вправо, Z - вперед, а координата Y - ВЫСОТА. Например: Quote 3.0 1.0 5.0 Т.е. X = 3 Y = 1 Z = 5 и камера смещена на 3 еденицы вправо, на 1 еденицу вверх, и на 5 едениц вперед. Это не так уж и сложно. Пункт #2: Вначале, стоит число, задающее кол-во треугольников. Обязательно, при КАЖДОМ изменение количества треугольников ПРОВЕРЯТЬ и ИЗМЕНЯТЬ это число. Иначе, движок вылетит с ошибкой) Кол-во треугольник может быть ТОЛЬКО ЦЕЛЫМ и ПОЛОЖИТЕЛЬНЫМ. Слишком большое также не желательно, поскольку ограничения на их кол-во не существуе и тогда: - у компа просто не хватит памяти Итак, число написано и перепроверено, теперь необходимо писать свойства треугольников. В них пишется: Все номера вершин и текстур отсчитываются с НУЛЯ, а не единицы! Разумеется,все они целые, положительые и не превышают число вершин и текстур (об этих числах в пунктах #3 и #4) Пример:
Quote 1 3 0 0 Итак, берем вершину номер 1, номер 3 и 0, окрашиваем их текстурой под номером 0 и радуемся, что его увидели) Или нет? Ведь он односторонне-проецируемый! Т.е. когда вы создадите список вершин (#3), посмотрите на их координаты, вы должны помнить - Если смотреть на треугольник, визуально, точки должны идти ПО ЧАСОВОЙ СТРЕЛКЕ! Иначе, вы увидете треугольник только с обратной стороны! Итак, если номера вершин в файле записаны в порядке A B C, То да данной картинке левый преугольник будет виден (порядок обхода вершин по часовой стрелка), а правый - нет (порядок обхода против часовой): Теперь полный пример части #2:
Quote 3 1 2 0 0 3 4 2 0 5 3 2 1 Итак, здесь 3 треугольника (кэп). НУЛЕВОЙ треугольник (порядок как и везде, с нуля!) соединяет вершины 1 2 0, первый - 3 4 2, второй - 5 3 2. Нулевой и первый окрашены в текстуру под номером 0, а второй - в текстуру с номером 1! Но при подсчете от нуля до второго получается именно ТРИ треугольника, а не два. Это число и записывает в начало блока! Такой тип оформления, как разделение на строки НЕ ОБЯЗАТЕЛЕН, это лишь для удобства восприятия текста в сполбик и раздения по группам. Главное, что-бы числа были отделены пробелом друг от друга и не было других посторонних символов, как точки, буквы и т.д. И САМОЕ ГЛАВНОЕ: Сгрупируйте все треугольники по номерам текстур, т.к. при их совпадении не происходит переключения загруженных ресурсов (текстур) и fps сильно возврастает. Т.е вот так писать нежелательно:
Quote 5 1 2 0 0 3 4 2 1 5 3 2 2 9 4 2 0 7 5 1 0 Ведь сначала используется текстура с 0 номером, потом 1, затем 2, и снова две текстуры с нулевым номером. Лучше все отсортировать:
Quote 5 1 2 0 0 9 4 2 0 7 5 1 0 3 4 2 1 5 3 2 2 А теперь про рисование четырехугольниками: Эта фигура состоит из 2 треугольников, имеющих 2 общие вершины (одинаковые номера вершин), и форма записи такова: A B C T C B D T - тут две общие точки B и С, раздельные A и В, и номер текстуры T (Он может быть разный у данных двух треугольников) Можно писать и так: Точки идут в порядке A, B, C, D и по ЧАСОВОЙ стрелке: Разумеется, четырехугольник увеличивает число треугольников при добавление на ДВА. Пример: Quote 6 0 4 1 0 1 4 5 0 1 5 2 0 2 5 6 0 2 6 3 0 3 6 7 0 3 четырехугольника, т.е. 6 треугольников (кэп) Конец. Нет, теперь пункт #3: Начинается все с кол-ва вершин. Правила теже, что и для кол-ва треугольников в #2. Далее, свойства каждой вершины: X Y Z U V - В начале, 3 координаты в пространстве. А потом, числа U и V - это координаты на текстуре! Т.е. положение картинки, натягиваемой на текстуру, в данной точке. Все числа записаны через ТОЧКУ! Пример:
Quote 3 6.0 1.5 6.0 3.0 3.0 4.0 0.2 6.0 2.0 3.0 2.0 0.3 6.0 1.0 3.0 Три точки: X, Y, Z - как у камеры, вправо-вверх-вперед. А вот U - координата по ширине текстуры, а V - по высоте. Фактически, U и V лежат в промежутке от 0.0 до 1.0 (от левого края картинки, до правого по U. И от нижнего края, до верхнего, по V) Вычитается целый период и остается только дробная часть, т.е. 1.5 -> 0.5, а в -3.2 -> -3.2 + 4.0 -> 0.8 Что влияет на положние пикселей... Проще просто поэкспериментировать с различными числами, что-бы понять суть чисел U и V. Пока оставлю так, потом допишу этот пункт #3... А теперь разгрузка мозгов и пункт #4: Вначале, число текстур, потом их имена. Вначале имени, пишем процент %, в конце имени тоже пишем процент %. Между концом названия и началом следующего, т.е. между %% любая фигня, кроме %, можно комментарии: Quote 4 %Metall.jpg% %Glass.jpg% %Plane.jpg% %Wood.jpg% 4 текстуры, с четырьмя названиями. Название любое, CalsLock не влияет, обязательно расширение, т.е. %Metall.jpg% и %meTALL.jpg% - одинаковые текстуры. Пока все) Пример всего, в котором уже не должно оставаться непонятного: Quote 0.5 0.5 -1.0 2 4 1 Всем удачи в строительстве карт=) RT - это Rammstein=) |
14, 03 Апреля 11 21:29
Quote (Rasiel) че жпг работает? омг!)) прикольно Работают форматы картинок: А вот gif и tif не загружаются DirectX'ом) RT - это Rammstein=) |
| |||