Форум программистов, компьютерный форум, киберфорум
Программирование игр
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.87/47: Рейтинг темы: голосов - 47, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 20.09.2019
Сообщений: 2
1

Подскажите, какая программа больше подходит юному программисту. Хочу создать свою игру.

20.09.2019, 09:35. Показов 9368. Ответов 79
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите какая программа больше подходит юному программисту. Хочу создать свою игру.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2019, 09:35
Ответы с готовыми решениями:

Хочу создать свою игру в поуер пойнте
хочу создать игру "выбери ячейку" в программе поуер пойнт. Через гиперссылку можно сделать ? Я...

Хочу сделать свою 3D игру (работа с текстурами и 3D моделями)
Я хочу сделать свою 3D игру. Жанр: online RPG с элементами survival. То есть там можно будет...

Какая субд больше подходит для программирования на 1с?
подскажите пожалуйста, какая субд больше подходит для программирования на 1с?

Подскажите какой код больше подходит для использования
Первый вариант кода std::cout << (x == 0 || y == 0 ? "ввод...

79
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
02.10.2019, 13:26 41
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Это же не простенькая программа-конвертер, которая тупо перекладывает байты, а здоровенная среда, завязанная на современное ей API операционной системы.
Для того чтобы их перекидать нужно формат модели знать а он закрыт. И у современных средств моделинга он простым не бывает. А тем более у хотя бы более менее серьезных. А через апи берешь все что надо прямо из геометрического ядра.

Добавлено через 2 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
найти именно тот редактор, именно той версии, да еще убедить его запуститься
Ну и че его искать если он известен? А старые версии API они поддерживают очень долго. Если что то в API попало в ближайшие лет 20 оно точно не исчезнет и не изменится.

Добавлено через 8 минут
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Это же не простенькая программа-конвертер, которая тупо перекладывает байты,
Нужных данных в файле сохранения частенько вообще нет. К примеру в *.swa вообще ни одного триангла нет. Их можно только из геометрического ядра получить по спецзаказу через api. Так что конвертер в данном случае тянет на полное дублирование геометрического ядра. Практически тоже самое касается 3D-пинбрашей типа макса.
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
02.10.2019, 14:29 42
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Для того чтобы их перекидать нужно формат модели знать а он закрыт.
Кто вам мешает выбрать формат, в котором нужная вам часть известна? Я же не утверждал что нужно брать "строго 3ds" или "строго dxf". Вон 8Observer8 предлагает .dae. Если уго функционала достаточно - зачем изобретать новый закрытый формат?
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну и че его искать если он известен?
Хорошо если известен. Правда, еще остается вопрос поиска плагина и угадывания версии, на которой он запустится. Я ведь только что приводил пример, когда простой способ не сработал.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Нужных данных в файле сохранения частенько вообще нет.
Еще раз: если формат вас не устраивает - выберите другой. Вот если ни один известный формат не устраивает - придется изобретать свой, а потом извращаться с плагинами или конвертерами.
Кстати о плагинах: что-то мне подсказывает, что еще и другой язык учить придется, питон какой-нибудь.
0
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
02.10.2019, 16:36 43
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Кстати о плагинах: что-то мне подсказывает, что еще и другой язык учить придется, питон какой-нибудь.
Причём в некоторых ситуациях это самый простой вариант, когда нужно получить полный контроль над моделью нестандартного формата, импортировав её в редактор, который хорошо знаешь. Python меня сначала очень сильно напугал, показался мне очень сложным, сложнее, чем C++. Но когда начал с ним знакомиться поближе, оказалось, что не такой уж он супер сложный. В моей ситуации Python - это палочка-выручалочка, которая помогает решать те задачи, на которые ушло бы гораздо больше времени и сил. По Python довольно много уроков, чего не скажешь об языке для написания плагинов для 3DsMax, в котором используется свой особый язык - Maxscript. Вот такой пример я нашёл, который импортирует модель с костями из приставки PS1 и игры Resident Evil 1 (см. код ниже). Это ужас, а не язык. Лучше бы они использовали Python, так как это язык общего назначения. Видно, что они осознали ошибку и позже при разработке Maya сделали язык для плагинов Python. Итого, выучив один Python можно облегчить решение определённых задач в Blender, GIMP и Maya.
Код
macroScript RE1MVAS category:"RE1MV"
tooltip:"RE1MV Animation Script..." Icon:#("Maxscript", 3)
(
rollout Main_Form "RE1MVAS v0.1b" width:416 height:172
(
button btn1 "Import ANI" pos:[8,8] width:128 height:24
button btn2 "Export ANI" pos:[144,8] width:128 height:24 enabled:false
button btn3 "About" pos:[280,8] width:128 height:24
progressBar pb1 "ProgressBar" pos:[136,40] width:272 height:14
label lbl1 "Part: 0" pos:[8,40] width:56 height:16
label lbl2 "Frame: 0" pos:[72,40] width:56 height:16
---Import ANI---
on btn1 pressed do
(
	---Global Variable---
global Part_Count 
global Part_Link_Count
global Part_Index
global Frame_Count
global All_Object
global POS_File
---Open File---
POS_File = getOpenFileName types:"RE2MV ANI(*.ANI)|*.ANI|"
if POS_File != undefined then 
(
--POS_File = openFile "C:\LEON.POS"
POS_File = openFile POS_File
----Set Part---
All_Object = geometry as array
---Part Count---
Part_Count = readValue POS_File
lbl1.caption = "Part: " + Part_Count as String
---Reset Part Angle---
fn Reset_Part pt =
(
All_Object[pt].rotation.x_rotation = 0
All_Object[pt].rotation.y_rotation = 0
All_Object[pt].rotation.z_rotation = 0
)
---Reset All Part Angle And Position---
for i = 1 to Part_Count do 
(
Reset_Part i
All_Object[i].pos = [0, 0, 0]
deleteKeys All_Object[i] #allKeys
)
---Link Part---
for i = 1 to Part_Count do 
(
Part_Link_Count = readValue POS_File
for ii = 1 to Part_Link_Count do 
(
if Part_Link_Count > 0 then 
(
Part_Index = readValue POS_File
All_Object[Part_Index +1].parent = All_Object[i]
)
)
)
---Set Part Pos---
for i = 1 to Part_Count do 
(
local pos_x = readValue POS_File
local pos_y = readValue POS_File
local pos_z = readValue POS_File
move All_Object[i] [pos_x, pos_y, pos_z]
)
---Rotate Part Angle---
fn Rotate_Part pt =
(
local ang_x = readValue POS_File
local ang_y = readValue POS_File
local ang_z = readValue POS_File
rotate All_Object[pt] (angleaxis ang_x [1,0,0])
rotate All_Object[pt] (angleaxis ang_z [0,0,1])
rotate All_Object[pt] (angleaxis ang_y [0,1,0])
)
---Animate Part---
Frame_Count = readValue POS_File
lbl2.caption = "Frame: " + Frame_Count as String
Frame_Count -= 1
animationRange = interval 0 Frame_Count
with animate on
(
---Main Body Position---
for i = 0 to Frame_Count do
( 
local pos_x = readValue POS_File
local pos_y = readValue POS_File
local pos_z = readValue POS_File
at time i All_Object[1].pos = [pos_x, pos_y, pos_z]
---Reset Angle---
for ii = 1 to Part_Count do at time i Reset_Part ii
---Read Angle---
Temp = Part_Count
while Temp > 0 do
( 
at time i Rotate_Part Temp
Temp -= 1
)
---Proggres---
pb1.value = 100.*i/Frame_Count 
)
)
sliderTime = 0
----Close File----
close POS_File
)
)
---Export ANI---
on btn2 pressed do
(
	
)
---About---
on btn3 pressed do
(
MessageBox "RE1MVAS v0.1b By Leo2236!" title: "About" beep: false
)
)
createdialog Main_Form width:416 height:62
)
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
02.10.2019, 22:00 44
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Еще раз: если формат вас не устраивает - выберите другой.
И как в него этот другой конвертировать из штатного формата средства моделирования?

Добавлено через 57 секунд
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Хорошо если известен.
Ну покажите полное описание к примеру *.max или *.swa

Добавлено через 4 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Кто вам мешает выбрать формат, в котором нужная вам часть известна?
В любом случае данные к примеру трианглов получаются только из яра api. Они не сохраняются ни в один из штатных для средства моделинга форматов. т.е. по любому или полное дублирование геометрического ядра в конвертере или плагин сохранения для средства моделинга. Зачем мудрить с сохранением в непонятно что если гораздо проще сохранить сразу в свой формат поддерживающий все нужные наборы данных для конкретно взятой задачи?
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
02.10.2019, 23:14 45
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
И как в него этот другой конвертировать из штатного формата средства моделирования?
стандартными функциями экспорта, конечно. Это же не самописный формат с неизвестной структурой, а один из распространенных.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну покажите полное описание к примеру *.max или *.swa
Могу повторить: я смотрел способы чтения только трех форматов: obj, dxf и 3ds, причем только геометрии. Без анимации, без текстур, даже без нормалей. Соответственно, не знаю и знать не хочу о структуре других. То, что знал - выложил.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Зачем мудрить с сохранением в непонятно что если гораздо проще сохранить сразу в свой формат
Именно для того чтобы не мудрить с сохранениями непонятно во что, а использовать готовый формат. Чем вас тот же obj не устраивает, если задача - отобразить статическую модельку?
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
02.10.2019, 23:27 46
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
если задача - отобразить статическую модельку
Вы где то такие задачи встречали в геймдеве? Они встречаются разве что в первых лабораторках по машинной графике.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Именно для того чтобы не мудрить с сохранениями непонятно во что,
Вот именно поэтому чужие форматы и не подходят, только свои.

Добавлено через 1 минуту
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
стандартными функциями экспорта, конечно.
Ну вот как раз стандартные функции экспорта продвинутых средств моделирования и не экспортируют в триангловые форматы принципиально.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Без анимации, без текстур, даже без нормалей.
Это по вашему можно назвать моделью?
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
03.10.2019, 09:46 47
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вы где то такие задачи встречали в геймдеве?
Достаточно, что я сам с такими задачами сталкивался.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вот именно поэтому чужие форматы и не подходят, только свои.
"<причина, по которой лучше использовать стандартный формат>" - "вот поэтому лучше использовать самописный"
Логика!
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Это по вашему можно назвать моделью?
А что же это по-вашему, картинка что ли?
.
Решать надо поставленную задачу, а не гадать "а если бы так, а если бы эдак". Пока хватает возможностей выбранного формата - используем его. Перестало хватать - ищем другой или изобретаем свой.
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
03.10.2019, 10:03 48
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
А что же это по-вашему, картинка что ли?
Рендерить в картинку без нормалей и текстурных координат вы как будете?

Добавлено через 49 секунд
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Достаточно, что я сам с такими задачами сталкивался.
Игра где все модели статичны при этом без текстур и освещения? Это что то новенькое в мире 3D игр.

Добавлено через 3 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Логика!
А логика простая. Описание формата абсолютно неизвестно. Но при этом точно известно что никаких данных нужных для рендеринга он не содержит. Он содержит то из чего эти данные может получить ядро тулза которое этот формат создает. Именно так все средства моделинга живут как минимум с середины 90-х. Именно поэтому чтобы не изобретать лисапеты все через api оного ядра тянется в свой формат, который своей софтиной подгружается элементарно.
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
03.10.2019, 11:25 49
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Описание формата абсолютно неизвестно.
То есть вы выбрали для импорта "абсолютно неизвестный" формат и жалуетесь, что он абсолютно неизвестен? Видимо, это какая-то особая логика.
Но могу повторить:
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Пока хватает возможностей выбранного формата - используем его. Перестало хватать - ищем другой или изобретаем свой.
Для моей задачи хватило формата obj. Зачем мне изучать еще один язык программирования, потом API средства моделирования?
Вы действительно считаете, что изобрести автомобиль с нуля без знаний (мы ведь говорим в контексте темы: ТС не знал вообще ни одного формата) проще, чем взять готовый велосипед и научиться на нем ездить?
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
03.10.2019, 11:37 50
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
То есть вы выбрали для импорта "абсолютно неизвестный" формат и жалуетесь, что он абсолютно неизвестен?
А вы найдите хоть один известный формат современных средств моделинга. Даже если бы и известным был. Данных нужных для рендеринга они там не держат еще с середины 90-х.

Добавлено через 3 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Для моей задачи хватило формата obj.
Это для вашей задачи. Именно так выглядит один из первых хеллоувердов по машинной графике. Ну с той разницей что в условиях оного хеллоуверда обычно свой формат спроектировать надо. А у ТС задача таки игра а не хеллоуверд.

Добавлено через 5 минут
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Вы действительно считаете, что изобрести автомобиль с нуля без знаний
А научится проектировать форматы и апи осваивать все равно придется никуда не денется. Годом раньше или годом позже особой разницы нет. Это уже только от его желания быстрей освоить графоний зависит.
0
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
03.10.2019, 14:02 51
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Для моей задачи хватило формата obj. Зачем мне изучать еще один язык программирования, потом API средства моделирования?
Вы действительно считаете, что изобрести автомобиль с нуля без знаний (мы ведь говорим в контексте темы: ТС не знал вообще ни одного формата) проще, чем взять готовый велосипед и научиться на нем ездить?
Возможно я что-то пропустил, но насколько я понял, Gungala поставил себе задачу научиться извлекать модели и анимации из игры Skyrim. Я посмотрел список его тем. Вот здесь он сформулировал свою задачу:

Цитата Сообщение от Gungala Посмотреть сообщение
В общем-то, я хочу вытащить некоторые однотипные 3D объекты из кое-какой игры, при том взаимодействия с ними (прямого) не предполагается. Программа не будет представлять из себя игру, сразу говорю. Мне нужно просто отрендерить 3D объект (один за раз) и когда пользователь кликает мышью (или клавишу нажимает), должна проигрываться анимация
Я решаю только такую же задачу. Моё мнение, что наиболее быстрый и перспективный способ решения этой задачи - это написать плагин для Blender на Python, чтобы можно было бы далее экспортировать модель в формат, который поддерживает анимации. Далее, можно было бы использовать Assimp для загрузки модели в свой 3D Viewer, где можно проиграть анимации. Так можно написать свою мини игру, или просто наслаждаться просмотром анимаций в своей программе. Или получить опыт, который позволил бы использовать знания для работы. Blender позволит редактировать анимации и модели. Можно даже сохранить обратно в формат Skyrim, чтобы изменения произошли в самой игре. Я думаю, что он захочет менять модели и анимации для изменений в самой игре, а не просто увидеть модель и анимацию в своей программе.

Добавлено через 26 минут
Но это я выбрал такой способ решения задачи, потому что я нашёл средство для извлечение моделей из бинарного формата в более удобный формат. И у меня ещё есть пример короткого скрипта на MaxScript, который импортирует кости. Я могу переписать на Python. Я не знаком с API, но я думаю, мне нужно почитать про несколько API, а не изучать весь API Blender целиком. Далее, я могу экспортировать в Collada. Но у Gungala намного более сложная задача, потому что если нет извлекателя моделей из бинарников Skyrim, то придётся писать самому, а для этого нужно описание формата, которое возможно уже есть где-то в сети, но вот самому создать такое описание формата - это огромный труд. Игра новая и найти такие описания крайне сложно. А ещё и хозяева игры следят и жалуются, чтобы такие описания удаляли из сети. Проще найти для старых игр. Я спрашивал у автора RE1MV (программы-извлекателя моделей и анимации из Resident Evil), где он брал описание формата в бинарнике, он мне давал ссылку, где подробно описывалось, какой байт в HEX что хранит и в каком файле. Те люди, которые создали такое описание проделали титанический труд, а может это не так сложно, как кажется.

Добавлено через 3 минуты
Если вы найдёте описание формата в бинарнике, или сами разберётесь в формате бинарника, то может сразу ипортировать координаты вертексов, текстурные коодинаты, нормали и анимации в свою программу на OpenGL или в движок, а можете сделать просмоторщик моделей и анимаций и сделать возможность сохранять в выбранный вами формат. Можно в два файла сохранять скин и кости из своего просмоторщика: OBJ и ANIM (как это делает RE1MV), а можно в один: Collada (.dae), тогда вы сможете импортировать свою модель в 3D редактор: Blender, 3DsMax, Maya и производить редактирование всех данных в удобном виде. Либо импортировать в свою игру на OpenGL или в готовый движок типа Unity, Godot, Unreal Engine и т.д. Какой способ выбрать - это зависит, что уже есть и какие цели вы себе ставите.

Добавлено через 17 минут
Gungala, я вам рекомендую взять задачу попроще, которую я взял. Есть готовые извлекатели моделей и анимаций на канале - Leo2236 -. Это извлекатели из компьютерных версий игр для PlayStation 1. Эти игры настолько старые, что за ними никто не охотится. Канал и сайт Leo2236 существует уже давно. Его извлекатели моделей и анимаций извлекают в формат .obj и .anim. Так вы потренируетесь с импортом .obj и с костями в своём любимом Java и OpenGL. Начните с изучения OpenGL в Java. Нарисуйте треугольник, квадрат, куб, наложите текстуру, свет, сделайте скелетную анимацию.

Добавлено через 2 минуты
В сети полно видео уроков, как поставить LWJGL3 или JOGL. Изучайте, тренируйте, тренируйтесь и тренируйтесь.
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
03.10.2019, 14:08 52
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А вы найдите хоть один известный формат современных средств моделинга.
И еще раз повторяю: obj, 3ds, возможно dae (не пробовал).
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А у ТС задача таки игра а не хеллоуверд.
Да ну?
8Observer8,
Цитата Сообщение от Gungala Посмотреть сообщение
У меня прост в планах реализация небольшого приложения, способного открывать 3D модели. Не игра, но модели как-то рендерить надо, а я вообще не представляю как этот процесс происходит.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А научится проектировать форматы и апи осваивать все равно придется никуда не денется. Годом раньше или годом позже особой разницы нет. Это уже только от его желания быстрей освоить графоний зависит.
Возможно. Опять-таки, если возможностей стандартных не хватит для конкретной задачи.
Но даже так хорошо бы сначала разобраться в устройстве чужих форматов, посмотреть что они хранят, в каком виде и для чего.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Gungala поставил себе задачу научиться извлекать модели и анимации из игры Skyrim
У меня информации по тамошним моделям нет - ни в каком редакторе они делались, ни во что их можно конвертировать. Но выглядит задача достаточно стандартно: модель, скелет и анимация используются почти везде.
0
1021 / 561 / 185
Регистрация: 18.08.2013
Сообщений: 2,026
Записей в блоге: 2
03.10.2019, 15:05 53
8Observer8, у меня это не основная задача в данный момент. Я прекрасно понимаю, что, не имея необходимых знаний, такое не выйдет реализовать. Я сейчас просто собираю информацию, можно сказать. Сохраняю статьи, ссылки на книги и т.д., и пока буду выполнять другие задачи, постепенно буду читать, проверю канал, что вы посоветовали. Ну и когда наконец приступлю к реализации задумки, будет уже намного проще
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
03.10.2019, 17:01 54
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Опять-таки, если возможностей стандартных не хватит для конкретной задачи.
Свой формат нужен всегда. Для того чтобы не изобретать ненужные лисапеты при загрузке и не ловить грабли и слоудауны.
К примеру *.obj имеет раздельные буфера и раздельную индексацию атрибутов вертексов. Для редактора идея очень даже здравая. Но вот одна незадача - железо то раздельную индексацию не поддерживает. А соответсвенно при подгрузке придется производить конвертирование. Мало того эта штука еще и текстовая еще и с секциями. Поэтому придется изобрести парсер. Т.е. и ненужные лисапеты и тормоза при подгрузке и ненужные перераспределения динамической памяти при подгрузке obj гарантированы. Откройте майкрософтовский пример подгрузки *.obj и посмотрите объем лисапетов который для этого нужен.
Подгрузчик же из своего же специализированного формата аналогичных данных займет строк 10 кода.
Теперь к примеру *.3ds толпа секций и т.д. из которых всего несколько нужных содержащих трианглы и т.д. но для того чтобы проскипить ненужные нужно написать код их пропуска. При этом половина кодов секций неизвестны. Поймал неизвестный и сливай воду. А организовать неизвестный не проблема - забыть проконвертить какой то объект в меш при редактировании. Неизвестные это как раз таки стеки модификаторов и их параметры. Даже если будут известны чтобы их подгрузить придется реализавать действие всех этих модификаторов - т.е. по факту переписать ядро 3ds с нуля. Опять же скачайте библиотечку с гитхаба и посмотрите сколько кода нужно залисапетить чтоб попытаться подгрузить даже известные секции.
Вопрос - нафига нужен этот реверс форматов и т.д. чтобы получить конкретнейший гемморой с реализацией загрузчика, если можно штатным способом получить данные из ядра средства моделирования и сохранить в формат обеспечивающий простую и быструю загрузку с минимумом накладных расходов?
Если же возьмем современные средства моделинга то к примеру *.swa закрытый формат а если бы и был открыт то хранит он не разу не трианглы и даже не нурбсы, а набор команд геометрического ядра, которые нужно последовательно выполнить чтобы получить нурбсовую модель. Примерно так же дела обстоят у макса только там стеки модификаторов. Надеюсь понимаете что при таких раскладах без экспорта через апи в свой формат вообще никак.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Но даже так хорошо бы сначала разобраться в устройстве чужих форматов, посмотреть что они хранят, в каком виде и для чего.
Без разницы что они там хранят и для чего оно нужно средству моделирования. Важно что и как надо хранить нам для конкретно нашего набора эффектов, которые мы хотим отрендерить.
Универсальные форматы хранят принципиально другой набор данных чем нужен в игре.
0
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
03.10.2019, 17:12 55
Цитата Сообщение от Gungala Посмотреть сообщение
Я прекрасно понимаю, что, не имея необходимых знаний, такое не выйдет реализовать.
Знания - это хорошо, но без регулярной практики вы никуда не провинитесь. Самое главное, это уметь себя мотивировать, не пасовать перед трудностями, и получать радость от процесса и осознания, что продвинулся на одну ступеньку выше и закрепился на ней. Объём знаний и навыков большой. Ставьте небольшие цели. Например, поставьте первую цель установить LWJGL3 на свою IDE: Eclipse, NetBeans и т.д. Потом потренируйтесь несколько раз правильно подключать нужные библиотеки из LWJGL3. Создайте несколько раз пустое окно. Найдите уроки или пример, как покрасить фон в заданный цвет. Научитесь рисовать: точку, линию, треугольник, квадрат, накладывать текстуру на квадрат. Всё это вы должны проделывать до тех пор, пока не научитесь делать из головы без подглядываний. Каждый раз создавайте новый проект, подключайте библиотеки для использования OpenGL, пишите код с нуля. Лучше всего каждый день уделять этому хотя бы 1 час в день или 30 минут. Должно быть большое желание продвигать себя на новую ступень за счёт отработки знаний до навыков, иначе вы будете забрасывать, оттягивать, вспоминать всё заново, опять бросать, мотивация будет падать и вы так и останетесь на одном уровне и уйдёте в другую область. Если вам другая область нравится, то развивайтесь в ней, а на эту не тратьте время.
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
03.10.2019, 20:43 56
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Для того чтобы не изобретать ненужные лисапеты при загрузке и не ловить грабли и слоудауны.
Именно поэтому нужно использовать готовый формат, где эти грабли формата уже найдены и исправлены.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А соответсвенно при подгрузке придется производить конвертирование
Так это придется делать в любом случае. Вы же свой формат не бинарным делаете под фиксированную структуру с фикированными полями и endian'ом.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
При этом половина кодов секций неизвестны.
Так кто заставляет их использовать? Не нужны - пропускаешь. Наоборот, разделение на секции это удобное свойство формата.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
если можно штатным способом получить данные из ядра средства моделирования
Вот не знаю чем вас не устраивает штатный способ что вы предлагаете лезть писать плагины.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Универсальные форматы хранят принципиально другой набор данных чем нужен в игре.
Вот когда ТС воткнется в ограничения, тогда и будет искать решение. А пока лучше воспользоваться простейшим способом.
.
Ладно, мне этот неконструктивный спор уже надоел. Вы изобрели какую-то свою задачу и упорно продвигаете ее решение, совершенно не соотнося с исходной задачей ТСа.
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
04.10.2019, 04:24 57
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Так кто заставляет их использовать? Не нужны - пропускаешь.
Для того чтобы пропустить нужно знать ее размер

Добавлено через 33 секунды
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Вот не знаю чем вас не устраивает штатный способ что вы предлагаете лезть писать плагины.
Тем что штатный это через плагин.
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
04.10.2019, 08:18 58
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Для того чтобы пропустить нужно знать ее размер
Вот у нас есть файл *.3ds, который разбит на chunk'и, каждый из которых содержит 16-битное поле ID (значение которого может быть неизвестным), потом 32-битное поле длины, потом сами данные.
Что конкретно вам мешает считать из файла длину поля и проигнорировать его?
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Тем что штатный это через плагин.
да-да, для любого использования трехмерных моделей штатный способ - писать плагин, который в следующей же версии сломается. И для игр, и для просмотровщика, и для 3Д-печати. Для всего. Fulcrum_013 сказал!
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
04.10.2019, 08:42 59
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
который в следующей же версии сломается
То что вы предлагаете не заведется и в текущей версии.

Добавлено через 6 минут
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
И для игр,
Вы хотя бы одну игру найдите которая не свой формат использует.

Добавлено через 2 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
который в следующей же версии сломается
Это ж кем надо быть чтобы поломать апи серьезного геометрического ядра которое с этим апи уже лет и лет живет при разработке следующей версии? Наверное COKPOWEHEU, который элементарнейших вещей не понимает.
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
04.10.2019, 09:22 60
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
То что вы предлагаете не заведется и в текущей версии
Ваше утверждение просто ложно, а поскольку не содержит ни примеров, ни подробностей, там даже нечего опровергать.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Это ж кем надо быть чтобы поломать апи серьезного геометрического ядра которое с этим апи уже лет и лет живет при разработке следующей версии?
Вот уж не знаю, даже не интересовался кто автор того плагина. Наверняка, такие как Fulcrum_013, которые полагаются на ОС-специфичные API или баги реализации.
0
04.10.2019, 09:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2019, 09:22
Помогаю со студенческими работами здесь

Создал первую свою Flash игру, но не знаю в каком формате сохранять. Подскажите
я создал первую свою Flash игру но незнаю в каком формате сохранять подскажите

Хочу создать игру
Привет всем.Хочу создать игру на андроид.Желательно с неплохой графикой.Игра будет меха-файтинг...

Хочу создать игру в консоли на С#
Игра камень ножницы бумага.Суть игры Компилятор рандомно компилирует числа и со постовляет с...

Хочу создать игру с вебкой
я так думаю все играли в игру тир или на подобе неё что-то. Хочу сделать похожую только чтоб можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru