Форум программистов, компьютерный форум, киберфорум
Наши страницы

Приоткроем дверь в game-development (2)

Войти
Регистрация
Восстановить пароль
Оценить эту запись

Приоткроем дверь в game-development (2)

Запись от Крюгер размещена 23.10.2017 в 23:47
Метки gamedev, games

Сумбура не будет
Выкатив вчера свой черновик с короткими записками, и увидев индифферентную реакцию, решил изменить формат. Сумбура больше не будет, далее блог в этом направлении будет кратким и тезисным. Вчера казалось, что тот формат не плох, однако перечитав все на свежую голову, понял что это не так, читать не интересно.

Разбор полетов
Кратко хочу разобрать то предложение о совместной работе над проектом. В принципе, я считаю что могу справиться сам, многие вещи из которых состоит игровой движок я по отдельности делал, и вообще, в программировании не первый год. Конечно до всяких Гуру С++ мне далеко, даже глупо сравнивать уровень любителя и человека который этим зарабатывает на хлеб, тем не менее, источников для обучения достаточно и я этим пользуюсь. Так вот, если у вас есть желание поучаствовать в проекте, пишите на почту, perec.number.one@gmail.com с пометкой gamedev.

Касаемо движка: форматы
Меня абсолютно не удовлетворяют существующие форматы хранения 3д моделей, в них местами много лишней информации,
а местами не хватает нужной. Необходимо реализовать свой собственный формат. Собственно, мне нравится как разбирается формат 3ds. Однако этот формат из тех, где есть лишние данные и не хватает нужных.
Вот тут нашел подробную информацию по нему.
Общий формат блоков:
смещениедлинаданные
02идентификатор типа блока, chunk_id
24длина блока, chunk_len
4chunk_lenданные или подблоки (в зависимости от chunk_id)

Размышляя, пришел к следующему списку идентификаторов типов нужных блоков данных:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
enum Chunks3DM
    {
        CHUNK_HEADER        = 0x4D4C,  //--Заголовок
        CHUNK_VERSION       = 0x44DC,  //--Версия
        CHUNK_HASH          = 0x44DE,    //--Хеш для проверки целостности файла
 
        CHUNK_NODES         = 0x1000,   //--Узлы "костей"
            CHUNK_NODES_TABNAME = 0x1100,   //--Таблица имен узлов
 
        CHUNK_SKELETON      = 0x2000,       //-- Скелет модели
            CHUNK_BONEPOS       = 0x2100,  //--положение в пространстве, соотнесены с узлами.
            CHUNK_BONEROT       = 0x2200,
            CHUNK_BONEID        = 0x2300,
 
        CHUNK_MATERIAL      = 0x2500,   //-- материал модели
            CHUNK_MATNAME       = 0x25A0,
            CHUNK_MAPFILE       = 0x25B0,
 
 
        CHUNK_MESH          = 0x3000,
            CHUNK_SUBMESH   = 0x3100,
                CHUNK_GEOMETRY  = 0x3150,
                    CHUNK_VERTEX_LIST = 0x3200,
                    CHUNK_NORMAL_LIST = 0x3300,
                    CHUNK_FACE_LIST   = 0x3400,
                    CHUNK_UVMAP_LIST  = 0x3500,
                    CHUNK_FACE_MAT    = 0x3600,
 
        CHUNK_COLLIDER      = 0x4000, //--коллайдеры для упрощенного моделирования физики, соотнесены с узлами.
            CHUNK_CVOLUME       = 0x4100,
                CHUNK_VOLSIZE       = 0x410A,
                CHUNK_VOLPOS        = 0x410B,
                CHUNK_VOLID         = 0x410C,
 
        CHUNK_KEYFRAMES     = 0x5000,  //-- нулевые кадры анимации для "скелетки" и морфинга.
            CHUNK_SKL_FRAME     = 0x5100,
            CHUNK_VTX_FRAME     = 0x5200,
 
                CHUNK_STARTMATRIX     = 0x6000, //-- начальная матрица 
    };
В дальнейшем, после разработки форматов, перейду к реализации плагина импорта/экспорта для блендер.
После этого займусь загрузкой ресурсов в движок.

Возможно я что то упустил, по этому прошу меня поправить. Для этого напишите в лс.
Размещено в Игрострой|GameDev
Просмотров 212 Комментарии 0
Всего комментариев 0

Комментарии

 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru