iphone - 如何在 iOS 的 Cocos2D 游戏中创建新的模型和纹理

标签 iphone ios cocos2d-iphone 3d blender

之前的开发者退出了,我继承了他的项目。没有文档,这是我的第一个游戏项目。游戏已经完成,但我们不能使用以前的艺术作品,因为某些图像侵犯了另一家公司的艺术作品。所以我需要创造新的艺术(模型、纹理)。

游戏有 .h 文件,这些文件似乎是 3d 对象的顶点。 3ds模型,Blender打不开,Cheetah可以打开

有一个 3DAtlas.pvrtc 文件,我认为它包含 .h 文件的纹理,但我无法查看它。

如何查看 pvrtc 文件或创建新文件?

我需要创建更多模型,那么如何从模型转到 .h 文件?我该如何处理纹理?

最佳答案

pvrtc是iOS图形芯片使用的一种特殊纹理格式。除非找到一些专业的图形程序打开它,否则您无法在台式计算机上轻松查看 pvrtc,但是您可以通过获取常规 png 文件然后通过苹果的纹理工具命令行程序运行它来轻松创建新的 pvrtc 图像Xcode 自带的。

这是我之前准备的一些说明:

生成PVR图像文件

Apple 在 Xcode 开发人员工具中包含一个名为 texturetool 的命令行 PVT 纹理生成应用程序。这通常可以在以下位置找到:

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

texturetool 应用程序相当有限,只能用于创建 4bpp(每像素位数)和 2bpp 压缩图像,这些图像质量极低,看起来有点像高度压缩的 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

这会生成一个 4 bpp 的压缩 PVR 图像。

/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

这会生成一个 2 bpp 的压缩 PVR 图像。

如前所述,这些文件看起来像高度压缩的 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

这将创建具有 alpha 透明度的 32 位最高质量 PVR 图像。

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

这将创建具有 alpha 透明度的 16 位抖动 PVR 图像。

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

这会创建一个不透明的 16 位抖动 PVR 图像,没有 alpha 透明度。

关于iphone - 如何在 iOS 的 Cocos2D 游戏中创建新的模型和纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8860002/

相关文章:

iphone - 缩放和平移 2D cocos2d iPhone 游戏的最佳方式

iphone - 当行重新排序或删除时更新交替颜色的 UITableViewCells

iphone - 如何让按钮在群组短信中可见?

ios - Swift iOS 应用程序 - 使用动态更改的行静态分配表属性

iphone - 在 xCode 4 中将 Cocos2D 添加到项目中

ios - 作为 iOS 的组件,cocoa Touch 和 openGL 都有不同的坐标系。为什么会这样

iphone - 类似 ios 中删除的效果

iphone - 如果我在 photoshop 中创建了一个 85% 不透明度的 PNG 图像,当我将它添加到我的 iOS 应用程序时,我如何保持相同的不透明度?

iOS - bodyWithPolygonFromPath : Body is the same as the path but collisions are not working properly

ios - UIKit 导入了什么,我如何找到?