Blender 3D:从新手到专业/制作exe
适用 Blender 版本:2.49。 |
本教程将向您展示如何为在 Blender 中制作的游戏制作可执行文件。
注意:“Windows”和“GNU/Linux 或 Mac OS X”部分列出的方法仅适用于您创建文件时所在的系统。要使其跨平台,请使用“BlenderPlayer”方法。
首先创建一个文件夹来保存所有游戏信息。将其命名为有意义的名称,例如“Yo Frankie!”。
该文件夹必须包含四个文件,您可以从 Blender 安装目录中复制这些文件。(在 Windows 中,它应该是“C:\Program Files\Blender Foundation\Blender”)它们是
- SDL.dll
- python24.dll (或其他相关的 python 文件;python25.dll,python26.dll 等)
- pthreadVC2.dll
- zlib.dll
(有时您还需要以下内容…
- avformat-51.dll
- avutil-49.dll
- avcodec-51.dll
它们在同一个文件夹中。)
不是新手注意:如果您使用的是最新版本的 Blender,您将需要以下文件。)
我在运行 windows xp media edition 和 blender 2.46,这是我需要的完整文件列表
- avcodec-51.dll
- avformat-52.dll
- avutil-49.dll
- libfaac-0.dll
- libfaad-0.dll
- libmp3lame-0.dll
- libx264-59.dll
- pthreadVC2.dll
- python25.dll
- SDL.dll
- swscale-0.dll
- vcomp90.dll
- xvidcore.dll
- zlib.dll
在 Blender 2.48a(Windows XP Media Center 2002,SP3)上,还需要以下 .manifest 文件
- blender.exe.manifest
- blenderplayer.exe.manifest
- Microsoft.VC90.CRT.manifest
- Microsoft.VC90.OpenMP.manifest
如果您在游戏中使用了随机 Python 模块,则需要向游戏目录添加一个文件。对于 Blender 2.49,它应该是 python26.zip,您可以在 Blender 主目录(blender.exe 所在的位置)中找到它。否则,在没有安装 Python 的系统中执行游戏时可能会出现一些错误。
从 Blender 2.56 开始,您需要启用“保存为运行时”;首先使用您创建的游戏打开 Blender,然后打开文件菜单。单击用户首选项,然后选择附加组件,然后选择游戏引擎,选中游戏引擎保存为运行时框,然后返回文件菜单。“保存为运行时”将作为导出菜单中的一个选项出现,然后保存到您创建的新文件夹中,并将其重命名为 yourgamename.exe,
然后就可以运行游戏了!
如果您在“保存为运行时”过程中遇到错误(我在 Windows 7 上),您可以右键单击 Blender 图标,然后选择“以管理员身份运行”。这样您将拥有新的 .exe 文件,您可以将其与您最喜欢的意大利辣香肠披萨一起传播。
- 首先,通过文件->保存游戏为运行时保存您的运行时(即上面提到的 .exe)。(在旧版本中为“保存运行时”)
- 现在,转到您的 .exe 游戏,将其重命名为 .scr - 例如,如果您的游戏是 NotMyGame.exe,将其重命名为 NotMyGame.scr。您现在可以右键单击进行安装,然后像使用任何其他屏幕保护程序一样使用它(右键单击桌面,属性……您知道该怎么做。)
屏幕保护程序不是游戏,因此它们不应接受输入。最多,它们应该显示您游戏功能的视频。如果您只是将您的常规游戏重命名为 .scr,它会非常无聊,因为您的游戏需要输入,而屏幕保护程序则不需要。
许多笔记本电脑中都存在英特尔集成显卡驱动程序的一个问题。出于某种不明原因,显卡驱动程序会关闭屏幕保护程序的 OpenGL 加速。解决此问题的方法是将.scr 扩展名重命名为.sCr,因为驱动程序的算法依赖于区分大小写的字符。如果您的屏幕保护程序的帧速率非常低,您应该尝试此修复,它经过测试并报告有效。
使用您创建的游戏打开 Blender,然后打开文件菜单。单击保存游戏为运行时,然后保存到您创建的新文件夹中,并将其重命名为 yourgamename...
然后就可以运行游戏了!
上面显示的方法只为您的操作系统创建可执行文件。好吧,BlenderPlayer 可以解决这个问题。
- 创建一个新文件夹来存储所有游戏数据。
- 然后将您的 .blend 文件保存到该目录。
- 如果您不想要 Windows 版本,可以跳过此步骤和下一步。对于 Windows 用户,从 Windows 版本的 Blender 中将 blenderplayer.exe 复制到新文件夹。然后,将所有用于 Blender 的 DLL 文件(如上面为 Windows 提到的)复制到该文件夹。
- 接下来,您需要创建一个 MS-DOS 批处理文件(对于 UNIX 用户,这是 shell 脚本的等效文件)。在简单的文本编辑器中,如果可用,请使用 CR-LF 模式(记事本始终处于此模式,而不是文字处理器!),复制并粘贴此文本
blenderplayer.exe yourgamename.blend
在您的游戏文件夹中将其保存为 YourGameName-Windows.bat。 - 如果您不想要 UNIX(基本上是 Mac OS X 和 GNU/Linux)端口,可以跳过此步骤。对于 GNU/Linux(至少),创建一个 shell 脚本。(shell 脚本是 UNIX 中批处理文件的术语。)在简单的文本编辑器中,以 LF 模式(不幸的是,记事本不能使用),复制并粘贴此文本
#!/bin/bash
./blenderplayer.app/Contents/MacOS/blenderplayer yourgamename.blend
在您的游戏文件夹中将文件保存为 YourGameName-UNIX.sh。您需要将 BlenderPlayer 放在与 .blend 游戏文件相同的目录中。 - 为您的程序编写一个自述文件。这最好使用简单的文本编辑器(如记事本或 gedit)完成,但使用哪个模式并不重要。您应该包含游戏名称、描述、可能的演练或提示,以及如果您制作了 *NIX 端口,请提及它需要 BlenderPlayer,Blender 提供了该端口。
Blender 和 BlenderPlayer 属于 GNU 通用公共许可证。Blend 文件对其各自所有者拥有版权,只要它们没有打包在 BlenderPlayer 中,就无需遵守 GPL。如果用户不希望 Blend 文件遵守 GPL,建议不要使用“保存游戏为运行时”功能。换句话说,用户必须将 Blend 文件和 BlenderPlayer 保存在不同的文件中。更多信息可以在 http://www.blender.org/education-help/faq/gpl-for-artists/ 中找到。(Blender 2.4 现在具有从文件启动器运行游戏的选项。)
Blender 没有内置功能来“锁定”或保护用户生成的内容。因此,任何拥有 Blender 的人都可以打开和/或修改 Blend 文件。但是,仍然可以锁定 Blend 文件。常见的方法包括加密 Blend 文件,然后在运行时临时解密。这可以通过使用 Python 脚本或使用外部第三方应用程序来实现(这些应用程序在 GPL v2 下是可行的)。