Как создать новые модели и текстуры в игре Cocos2D для iOS - PullRequest
0 голосов
/ 14 января 2012

Предыдущий разработчик ушел, и я унаследовал его проект.Нет документации, и это мой первый игровой проект.Игра завершена, но мы не можем использовать предыдущую иллюстрацию, потому что некоторые изображения нарушают искусство другой компании.Поэтому мне нужно создать новое искусство (модели, текстуры).

В игре есть файлы .h, которые кажутся вершинами для трехмерных объектов.Модели в 3ds, которые не могут быть открыты с помощью Blender, но могут быть открыты с помощью Cheetah

. Есть файл 3DAtlas.pvrtc, который, как я предполагаю, содержит текстуры для файлов .h, но я не могу его просмотреть.

Как просмотреть файл pvrtc или создать новый?

Мне нужно создать еще несколько моделей, так как перейти от модели к файлу .h?Что мне делать с текстурами?

1 Ответ

4 голосов
/ 14 января 2012

pvrtc - это специальный формат текстур, используемый графическими чипами iOS.Вы не можете легко просмотреть pvrtc на настольном компьютере, если не найдете специальную графическую программу, чтобы открыть его, но вы можете достаточно легко создать новый образ pvrtc, взяв обычный файл png и затем запустив его через программу командной строки инструмента для создания текстур apple.поставляется с Xcode.

Вот некоторые инструкции, которые я подготовил ранее:

Создание файлов изображений PVR

Apple включает приложение для генерации текстуры PVT из командной строки, называемое texturetool, с Xcodeинструменты разработчика.Обычно это можно найти по адресу:

/ Developer / Platforms / iPhoneOS.platform / Developer / usr / bin / texturetool

Приложение texturetool довольно ограничено и может использоваться только для создания 4bpp(биты на пиксель) и сжатые изображения размером 2 bpp, которые имеют исключительно низкое качество и немного похожи на сильно сжатые JPEG-файлы.Они, вероятно, недостаточно хороши для неподвижных изображений, особенно для изображений, содержащих прозрачность, но могут подходить для видеокадров или текстур для 3D-моделей.

ПРИМЕЧАНИЕ: В дополнение к необходимости использования мощностиВ двух измерениях изображения PVR также должны быть идеально квадратными, то есть ширина и высота должны быть одинаковыми.Допустимые размеры: 2x2, 4x4, 8x8, 16x16, 32x32, 64x64, 128x128, 256x256 и т. Д. Не забудьте обрезать или масштабировать изображения до допустимого размера перед их преобразованием.

Типичные настройки texturetool, которые вам понадобятсяиспользуется одно из следующих действий:

/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/texturetool -e PVRTC --channel-weighting-perceptual --bits-per-pixel-4 -f PVR -o {output_file_name}.pvr {input_file_name}.png

Это создает сжатое изображение PVR со скоростью 4 bpp.

/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/texturetool -e PVRTC --channel-weighting-perceptual --bits-per-pixel-2 -f PVR -o {output_file_name}.pvr {input_file_name}.png

Это создает сжатое изображение PVR со скоростью 2 bpp.

КакКак указывалось ранее, эти файлы будут выглядеть как сильно сжатые изображения JPEG и не будут подходить для компонентов пользовательского интерфейса или изображений с мелкими деталями.Также можно создавать изображения PVR с более высоким качеством, но для этого вам понадобится другой инструмент.Одним из таких приложений является TexturePacker (http://www.texturepacker.com/),, которое не является бесплатным, но предоставляет удобный инструмент командной строки для создания дополнительных форматов PVR.

Типичными настройками TexturePacker, которые вы хотите использовать, являются следующие:

TexturePacker --disable-rotation --no-trim --opt RGBA8888 {input_file_name}.png --sheet {output_file_name}.pvr

Это создает 32-битное изображение PVR максимального качества с альфа-прозрачностью.

TexturePacker --disable-rotation --no-trim --dither-fs-alpha --opt RGBA4444 {input_file_name}.png --sheet {output_file_name}.pvr

Это создает 16-битное изображение PVR с альфа-прозрачностью.

TexturePacker --disable-rotation --no-trim --dither-fs --opt RGB565 {input_file_name}.png --sheet {output_file_name}.pvr

Это создает непрозрачное 16-битное размытое изображение PVR без альфа-прозрачности.

...