Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Движок Unity3D(resources.assets и resources.assets.resS) (2 стр)

Движок Unity3D(resources.assets и resources.assets.resS) (2 стр)

Страницы: 1 2 3 48 Следующая »
Аниме ЛюбительНовичокwww6 окт. 201821:46#15
покажи прогу, которую ты напишешь, чтобы прочитать размер изображения в BMP  (BITMAP) файле.

всмысле, это обязательно
на словах, если я правильно понял, вроде получаем путь к файлу, читаем в бинарный поток(массив байт) и.т.д.(я в программировании новичек), наверно я неправильно описал?
skalogryzУчастникwww6 окт. 201821:47#16
Аниме Любитель
> на словах, если я правильно понял, вроде получаем путь к файлу, читаем в
> бинарный поток(массив байт) и.т.д.(я в программировании новичек), наверно я
> неправильно описал?
меня устроит твой ответ.

я добавил пункт №2 прочитай, пожалуйста.

Аниме ЛюбительНовичокwww6 окт. 201821:59#17
4 байта - размер заголовка, в бигендиан
- 4 байта - размер всего файла, в бигендиан
- 4 байта - номер версии, в бигендиан
- 4 байта - отступ к список ассетов, в бигедниан.
тебе это даст какую-нибудь подсказку насчёт алгоритма как это парсить?

Можно определить формат файла по хедеру "4 байта - размер заголовка, в бигендиан"
Можно определить номер версии "4 байта - номер версии, в бигендиан"
размер файла важнее "4 байта - размер всего файла, в бигендиан"
еще важнее "4 байта - отступ к список ассетов, в бигедниан." Список наверно и нужен
В чем прав в чем не прав?
skalogryzУчастникwww6 окт. 201822:01#18
Аниме Любитель
> В чем прав в чем не прав?
прав, конечно, вот тебе и алгоритм начать! 
skalogryzУчастникwww6 окт. 201822:21#19
самое интересное начинается с того места где в хедере указано начала данных:
0000001000: 00 00 00 00 02 00 00 00 │ 01 00 00 00 11 27 00 00      ☻   ☺   ◄'
0000001010: 00 00 00 00 02 00 00 00 │ 7E 00 00 00 00 00 00 00      ☻   ~
0000001020: 00 00 00 00 00 00 00 00 │ 0A 00 00 00 74 65 78 74          ◙   text
0000001030: 75 72 65 5F 30 32 00 00 │ 04 00 00 00 00 00 00 00  ure_02  ♦
0000001040: 00 04 00 00 00 04 00 00 │ 54 55 55 00 04 00 00 00   ♦   ♦  TUU ♦
0000001050: 0B 00 00 00 00 00 00 00 │ 00 00 00 00 01 00 00 00  ♂           ☺
0000001060: 02 00 00 00 01 00 00 00 │ 01 00 00 00 00 00 00 00  ☻   ☺   ☺
0000001070: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000001080: 01 00 00 00 00 00 00 00 │ 00 00 00 00 54 55 55 00  ☺           TUU
0000001090: 19 00 00 00 73 68 61 72 │ 65 64 61 73 73 65 74 73  ↓   sharedassets
00000010A0: 30 2E 61 73 73 65 74 73 │ 2E 72 65 73 53 00 00 00  0.assets.resS
00000010B0: 0A 00 00 00 74 65 78 74 │ 75 72 65 5F 30 30 00 00  ◙   texture_00
00000010C0: 04 00 00 00 00 00 00 00 │ 00 04 00 00 00 04 00 00  ♦        ♦   ♦
00000010D0: 54 55 55 00 04 00 00 00 │ 0B 00 00 00 00 00 00 00  TUU ♦   ♂
00000010E0: 00 00 00 00 01 00 00 00 │ 02 00 00 00 01 00 00 00      ☺   ☻   ☺
00000010F0: 01 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00  ☺
0000001100: 00 00 00 00 00 00 00 00 │ 01 00 00 00 00 00 00 00          ☺
0000001110: 54 55 55 00 54 55 55 00 │ 19 00 00 00 73 68 61 72  TUU TUU ↓   shar
0000001120: 65 64 61 73 73 65 74 73 │ 30 2E 61 73 73 65 74 73  edassets0.assets
0000001130: 2E 72 65 73 53 00 00 00 │ 0A 00 00 00 74 65 78 74  .resS   ◙   text
0000001140: 75 72 65 5F 30 31 00 00 │ 04 00 00 00 00 00 00 00  ure_01  ♦
0000001150: 00 04 00 00 00 04 00 00 │ 54 55 55 00 04 00 00 00   ♦   ♦  TUU ♦
0000001160: 0B 00 00 00 00 00 00 00 │ 00 00 00 00 01 00 00 00  ♂           ☺
0000001170: 02 00 00 00 01 00 00 00 │ 01 00 00 00 00 00 00 00  ☻   ☺   ☺
0000001180: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000001190: 01 00 00 00 00 00 00 00 │ A8 AA AA 00 54 55 55 00  ☺       ¨ªª TUU
00000011A0: 19 00 00 00 73 68 61 72 │ 65 64 61 73 73 65 74 73  ↓   sharedassets
00000011B0: 30 2E 61 73 73 65 74 73 │ 2E 72 65 73 53 00 00 00  0.assets.resS
00000011C0: 08 00 00 00 68 61 72 75 │ 2E 6D 6F 63 F4 ED 02 00  ◘   haru.mocôí☻
00000011D0: 6D 6F 63 09 81 08 81 09 │ 0F 21 81 03 C1 F0 00 00  moc○◘○☼!♥Áð
00000011E0: 41 F0 00 00 00 00 00 00 │ 3C 0D 50 41 52 41 4D 5F  Að      <♪PARAM_
00000011F0: 41 4E 47 4C 45 5F 58 81 │ 03 C1 F0 00 00 41 F0 00  ANGLE_X♥Áð  Að
0000001200: 00 00 00 00 00 3C 0D 50 │ 41 52 41 4D 5F 41 4E 47       <♪PARAM_ANG
ярко выраженная повторяющаяся структура - массив данных, которй заканчивается, где-то рядом с $11C0

в каждом элементе массива, можно смело выделить общие элементы:
имя
texture_02, texture_00, texture_01
и имя файла (очевидно ссылка где хранится)

имя хранится всегда одинаково:

0000001020: 00 00 00 00 00 00 00 00 │ 0A 00 00 00 74 65 78 74          ◙   text
0000001030: 75 72 65 5F 30 32 00 00 │ 04 00 00 00 00 00 00 00  ure_02  ♦

0000001090: 19 00 00 00 73 68 61 72 │ 65 64 61 73 73 65 74 73  ↓   sharedassets
00000010A0: 30 2E 61 73 73 65 74 73 │ 2E 72 65 73 53 00 00 00  0.assets.resS
сначала 4 байта, на размер имени, затем ANSI символы имени.
а затем выравнивание но 4х байт нулями.

Основное (где взять данные), это то, что в каждом элементе указаны размер и отступ (очевидно из resS)
для первого элемента (texture_02)

                                    отступ      размер
0000001080: 01 00 00 00 00 00 00 00|00 00 00 00|54 55 55 00|
0000001090: 19 00 00 00 73 68 61 72 65 64 61 73 73 65 74 73  ↓   sharedassets
для второго элемента (texture_00)
0000001100: 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00          ☺
0000001110:|54 55 55 00|54 55 55 00|19 00 00 00 73 68 61 72  TUU TUU ↓   shar
            отступ      размер
и для третьего элемента (texture_01)
                                    отступ      размер
0000001190: 01 00 00 00 00 00 00 00|A8 AA AA 00|54 55 55 00| ☺       ¨ªª TUU
00000011A0: 19 00 00 00 73 68 61 72 65 64 61 73 73 65 74 73  ↓   sharedassets

Аниме ЛюбительНовичокwww6 окт. 201822:21#20
ща попробую разобраться

Правка: 6 окт. 2018 22:23

skalogryzУчастникwww6 окт. 201822:29#21
каждая запись про текстуру (сразу после имени) имеет общие данные:
04 00 00 00 // тип?
00 00 00 00   
00 04 00 00 // ширина?
00 04 00 00 // высота?
54 55 55 00 // размер
очевидно, что файл это синтетический тест, т.к. все текстуры имеют размер 1024 x 1024.
если посмотреть в .resR файл по указанным отступам, то можно увидеть стройными рядами шагающие RGBA пиксели
0000000000: 90 8D A6 00 90 8D A6 00 │ 90 8D A6 00 90 8D A6 00  ¦ ¦ ¦ ¦
0000000010: 90 8D A6 00 90 8D A6 00 │ 90 8D A6 00 90 8D A6 00  ¦ ¦ ¦ ¦
но 1024*1024 * 4 это всегдо = 4194304 ($400000 )
а размер файла больше, чем $555554
$155554 забиты дополнительной информацией... чем-то связанным с шейдерами? материалом?
ковыряйся на здоровье!

Правка: 6 окт. 2018 22:33

Аниме ЛюбительНовичокwww6 окт. 201822:47#22
не допонял отступ, размер
напишите пример пожалуйста
и текстура в 2048

Правка: 6 окт. 2018 22:48

Аниме ЛюбительНовичокwww7 окт. 20181:02#23
skalogryz
>sharedassets0.assets
>
>0000000000: 00 00 01 31 00 02 FF C4 │ 00 00 00 11 00 00 10 00 ☺1 ☻ÿÄ ◄ ►
>0000000010: 00 00 00 00 32 30 31 38 │ 2E 32 2E 31 31 66 31 00 2018.2.11f1
>
>- 4 байта - размер заголовка, в бигендиан
>- 4 байта - размер всего файла, в бигендиан
>- 4 байта - номер версии, в бигендиан
>- 4 байта - отступ к список ассетов, в бигедниан.
>тебе это даст какую-нибудь подсказку насчёт алгоритма как это парсить?
>
> самое интересное начинается с того места где в хедере указано начала данных:
> 0000001000: 00 00 00 00 02 00 00 00 │ 01 00 00 00 11 27 00 00 ☻ ☺ ◄'
> 0000001010: 00 00 00 00 02 00 00 00 │ 7E 00 00 00 00 00 00 00 ☻ ~
> 0000001020: 00 00 00 00 00 00 00 00 │ 0A 00 00 00 74 65 78 74 ◙ text
> 0000001030: 75 72 65 5F 30 32 00 00 │ 04 00 00 00 00 00 00 00 ure_02 ♦
> 0000001040: 00 04 00 00 00 04 00 00 │ 54 55 55 00 04 00 00 00 ♦ ♦ TUU ♦
> 0000001050: 0B 00 00 00 00 00 00 00 │ 00 00 00 00 01 00 00 00 ♂ ☺
> 0000001060: 02 00 00 00 01 00 00 00 │ 01 00 00 00 00 00 00 00 ☻ ☺ ☺
> 0000001070: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
> 0000001080: 01 00 00 00 00 00 00 00 │ 00 00 00 00 54 55 55 00 ☺ TUU
> 0000001090: 19 00 00 00 73 68 61 72 │ 65 64 61 73 73 65 74 73 ↓ sharedassets
> 00000010A0: 30 2E 61 73 73 65 74 73 │ 2E 72 65 73 53 00 00 00 0.assets.resS
> 00000010B0: 0A 00 00 00 74 65 78 74 │ 75 72 65 5F 30 30 00 00 ◙ texture_00
> 00000010C0: 04 00 00 00 00 00 00 00 │ 00 04 00 00 00 04 00 00 ♦ ♦ ♦
> 00000010D0: 54 55 55 00 04 00 00 00 │ 0B 00 00 00 00 00 00 00 TUU ♦ ♂
> 00000010E0: 00 00 00 00 01 00 00 00 │ 02 00 00 00 01 00 00 00 ☺ ☻ ☺
> 00000010F0: 01 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 ☺
> 0000001100: 00 00 00 00 00 00 00 00 │ 01 00 00 00 00 00 00 00 ☺
> 0000001110: 54 55 55 00 54 55 55 00 │ 19 00 00 00 73 68 61 72 TUU TUU ↓ shar
> 0000001120: 65 64 61 73 73 65 74 73 │ 30 2E 61 73 73 65 74 73 edassets0.assets
> 0000001130: 2E 72 65 73 53 00 00 00 │ 0A 00 00 00 74 65 78 74 .resS ◙ text
> 0000001140: 75 72 65 5F 30 31 00 00 │ 04 00 00 00 00 00 00 00 ure_01 ♦
> 0000001150: 00 04 00 00 00 04 00 00 │ 54 55 55 00 04 00 00 00 ♦ ♦ TUU ♦
> 0000001160: 0B 00 00 00 00 00 00 00 │ 00 00 00 00 01 00 00 00 ♂ ☺
> 0000001170: 02 00 00 00 01 00 00 00 │ 01 00 00 00 00 00 00 00 ☻ ☺ ☺
> 0000001180: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
> 0000001190: 01 00 00 00 00 00 00 00 │ A8 AA AA 00 54 55 55 00 ☺ ¨ªª TUU
> 00000011A0: 19 00 00 00 73 68 61 72 │ 65 64 61 73 73 65 74 73 ↓ sharedassets
> 00000011B0: 30 2E 61 73 73 65 74 73 │ 2E 72 65 73 53 00 00 00 0.assets.resS
> 00000011C0: 08 00 00 00 68 61 72 75 │ 2E 6D 6F 63 F4 ED 02 00 ◘ haru.mocôí☻
> 00000011D0: 6D 6F 63 09 81 08 81 09 │ 0F 21 81 03 C1 F0 00 00 moc○◘○☼!♥Áð
> 00000011E0: 41 F0 00 00 00 00 00 00 │ 3C 0D 50 41 52 41 4D 5F Að <♪PARAM_
> 00000011F0: 41 4E 47 4C 45 5F 58 81 │ 03 C1 F0 00 00 41 F0 00 ANGLE_X♥Áð Að
> 0000001200: 00 00 00 00 00 3C 0D 50 │ 41 52 41 4D 5F 41 4E 47 <♪PARAM_ANG
> ярко выраженная повторяющаяся структура - массив данных, которй заканчивается,
> где-то рядом с $11C0
> в каждом элементе массива, можно смело выделить общие элементы:
> имя
> texture_02, texture_00, texture_01
> и имя файла (очевидно ссылка где хранится)
>
> имя хранится всегда одинаково:
>
> 0000001020: 00 00 00 00 00 00 00 00 │ 0A 00 00 00 74 65 78 74 ◙ text
> 0000001030: 75 72 65 5F 30 32 00 00 │ 04 00 00 00 00 00 00 00 ure_02 ♦
>
> 0000001090: 19 00 00 00 73 68 61 72 │ 65 64 61 73 73 65 74 73 ↓ sharedassets
> 00000010A0: 30 2E 61 73 73 65 74 73 │ 2E 72 65 73 53 00 00 00 0.assets.resS
> сначала 4 байта, на размер имени, затем ANSI символы имени.
> а затем выравнивание но 4х байт нулями.
> Основное (где взять данные), это то, что в каждом элементе указаны размер и
> отступ (очевидно из resS)
> для первого элемента (texture_02)
>
> отступ размер
> 0000001080: 01 00 00 00 00 00 00 00|00 00 00 00|54 55 55 00|
> 0000001090: 19 00 00 00 73 68 61 72 65 64 61 73 73 65 74 73 ↓ sharedassets
> для второго элемента (texture_00)
> 0000001100: 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ☺
> 0000001110:|54 55 55 00|54 55 55 00|19 00 00 00 73 68 61 72 TUU TUU ↓ shar
> отступ размер
> и для третьего элемента (texture_01)
> отступ размер
> 0000001190: 01 00 00 00 00 00 00 00|A8 AA AA 00|54 55 55 00| ☺ ¨ªª TUU
> 00000011A0: 19 00 00 00 73 68 61 72 65 64 61 73 73 65 74 73 ↓ sharedassets
>
>каждая запись про текстуру (сразу после имени) имеет общие данные:
>04 00 00 00 // тип?
>00 00 00 00
>00 04 00 00 // ширина?
>00 04 00 00 // высота?
>54 55 55 00 // размер
>очевидно, что файл это синтетический тест, т.к. все текстуры имеют размер 1024 x 1024.
>если посмотреть в .resR файл по указанным отступам, то можно увидеть стройными рядами шагающие RGBA пиксели
>0000000000: 90 8D A6 00 90 8D A6 00 │ 90 8D A6 00 90 8D A6 00 ¦ ¦ ¦ ¦
>0000000010: 90 8D A6 00 90 8D A6 00 │ 90 8D A6 00 90 8D A6 00 ¦ ¦ ¦ ¦
>но 1024*1024 * 4 это всегдо = 4194304 ($400000 )
>а размер файла больше, чем $555554
>$155554 забиты дополнительной информацией... чем-то связанным с шейдерами? материалом?
>ковыряйся на здоровье!
Объясните поподробнее пожалуйста!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Покажите пожалуйста пример как выдернули текстуру(вы веди смогли, если нет объясните сам выдерну) и ответе, если не трудно ниже на вопросы(тупые наверное).Токо не игнорьте пожалуйста, вы единственный человек который ответил и разбирается в данном вопросе
Как работать в шестнадцатиричном редакторе? :
Как находить адреса, отступы, размеры?

sharedassets0.assets:
"4 байта - отступ к список ассетов, в бигедниан. "
Что такое отступ и его размер как расчитать адрес откуда до куда?
"4 байта размер имени"
зачем он, если выделенно 4 байта?

.resR:
"04 00 00 00 // тип?"
что за тип? всмысле текстура?
"если посмотреть в .resR файл по указанным отступам, то можно увидеть стройными рядами шагающие RGBA пиксели"
Что такое отступ и его размер как расчитать адрес откуда до куда? Это и будет текстура

"если посмотреть в .resR файл по указанным отступам, то можно увидеть стройными рядами шагающие RGBA пиксели
0000000000: 90 8D A6 00 90 8D A6 00 │ 90 8D A6 00 90 8D A6 00  ¦ ¦ ¦ ¦
0000000010: 90 8D A6 00 90 8D A6 00 │ 90 8D A6 00 90 8D A6 00  ¦ ¦ ¦ ¦
но 1024*1024 * 4 это всегдо = 4194304 ($400000 )
а размер файла больше, чем $555554
$155554 забиты дополнительной информацией... чем-то связанным с шейдерами? материалом?
ковыряйся на здоровье!"
В каком смысле, где именно текстура?
Постараюсь понять
Заранее большое спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

skalogryzУчастникwww7 окт. 20183:27#24
Аниме Любитель
> токо не игнорьте пожалуйста, вы единственный человек который ответил и
> разбирается в данном вопросе
О круто! время обсудить финансовое вознаграждение!


Ps
Отступ (offset) = позиция (position)
Ты должен уметь читать файл по указанному отступу/позиции.

Аниме Любитель
> "04 00 00 00 // тип?"
нет, это не тип.
тип идёт сразу после размера (4-байт, литлендиан).
$03 - это без сжатия RGB (24-бита)
$04 - это без сжатия RGBA (32-бита)
$0a - это сжатие DXT1

ну короче, текстура здесь (альфа-канал сохранён):

+ Показать

и как я и обещал, она 1024*1024

pps:
теперь рассказывай кто автор, потому что, по-моему, я видел эти текстуры на этом форуме.

+ авторам!

Правка: 7 окт. 2018 7:49

Аниме ЛюбительНовичокwww7 окт. 201813:36#25
А как вы его в png сделали, добавили хедер и все остальное?
У меня получилось https://1drv.ms/u/s!AqWSxo_9xsbiiA7HO28jzzJT6Vcp
Объясните пожалуйста, что вы сделали, что получилась текстура и в добавок png(можете просмотреть мой получившиеся файл) , что я сделал не так? по отступам нашел, сохранил в bmp, а дальше? У вас же получилось, я тоже хочу научиться
pps:
теперь рассказывай кто автор, потому что, по-моему, я видел эти текстуры на этом форуме.

Это свободный пример компании Live2d(так, что это не вороство, я коворил что скину пример, это пример)

Правка: 7 окт. 2018 14:34

skalogryzУчастникwww7 окт. 201815:39#26
Аниме Любитель
> А как вы его в png сделали, добавили хедер и все остальное?
любимым графическим редактором

Аниме Любитель
> по отступам нашел, сохранил в bmp, а дальше?
а дальше всё - у тебя готовый файл.

Аниме Любитель
> что я сделал не так?
2 вещи:
- размер файла - у тебя почему-то 999 x 1002
- битность. твой bmp 24-битный, а текстура 32-битная. 
Если ты делаешь конвертацию путём добавления хедера, то убедись, что хедер соответствует данным.

Аниме ЛюбительНовичокwww7 окт. 201815:50#27
Аниме Любитель
А как вы его в png сделали, добавили хедер и все остальное?
любимым графическим редактором

опишите пожалуйста как вы делали? вручную или редактором? и каким?

Аниме Любитель
по отступам нашел, сохранил в bmp, а дальше?
а дальше всё - у тебя готовый файл.

у меня не получилось, я показывал результат

Аниме Любитель
> что я сделал не так?
2 вещи:
- размер файла - у тебя почему-то 999 x 1002
- битность. твой bmp 24-битный, а текстура 32-битная. 
Если ты делаешь конвертацию путём добавления хедера, то убедись, что хедер соответствует данным.

как сделать 1024x1024 и 32-бит, а потом png

Вы всю вручную делать умеете или делаете? Или что-то через редактор, но знаете как вручную

Правка: 7 окт. 2018 15:51

skalogryzУчастникwww7 окт. 201816:23#28
Аниме Любитель
> Вы всю вручную делать умеете или делаете?
умею делать и делаю
> Или что-то через редактор, но знаете как вручную
сделай "вручную" bmp, в редакторе его открой и сохрани как png

>как сделать 1024x1024 и 32-бит
может быть тебе сначала попрактиковаться в этом вопросе?! создание 32-битных bmp размером 1024х1024
а потом уже переходить к тому, чтобы выцеплять текстуры в эти самые bmp?!
чтобы уверенность была и понимание того, что делаешь.

Правка: 7 окт. 2018 16:25

Аниме ЛюбительНовичокwww7 окт. 201816:26#29
сделай "вручную" bmp

как на примере моего файла и потом каким редактором?
Страницы: 1 2 3 48 Следующая »

/ Форум / Программирование игр / Графика

2001—2018 © GameDev.ru — Разработка игр