BlenderCN论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3674|回复: 7

关于引擎的简单的经验性的介绍

[复制链接]
发表于 2011-6-27 23:37:07 | 显示全部楼层 |阅读模式
(先哆嗦2句,这里居然我发头篇,,超级潜水员Alan现在给大家念经了)

Blender的引擎是这么玩的:

首先,先要确定你的Blender是在什么OS上运行的,这个很重要,因为BGE实际是在不同的OS上编译的。之所以能够跨平台,是因为python。说python其实底层的还是通过C,(正统的python底层是C,Java的python是Jpython,python适合做控制流程的)在运行时候有个cache,__pycache__会零时生成一个.pyc , 这个其实就是被编译过的.py   每当运行的时候系统不会像处理一般python脚本那样先编译一遍python再执行,而是直接就执行了.pyc了。 BGE的道理也是一样,编译的环境不同效果也会不同。Windows和Mac上实际是有些差异的。经管python使得它们最后看上去是十分的接近。 有一个不争的事实是BlenderPlayer一直没有更新Mac版本。(嗨,本人还太嫩玩不了编译引擎,谁叫咱只是草根玩家呢)。至于BlenderPlayer是什么,细心的人都知道是放在和Blender.exe边上的,在Mac里就是放在Blender.app边上的BlenderPlayer.app这样的应用。在Blender里Save as runtime本来是菜单里的一个默认选项,现在新版变成adds on了,可见Blender核心开发的用心(也就是说,你可以组合不同的环境做出不同的应用)。在Save as runtime后blender实际只是打包了.blend文件和捆绑到BlenderPlayer里了。(注意BlenderPlayer是更具OS提前编译的。)这样也就是说你只是做了场景和设置,其他一切的运行靠的都是BlenderPlayer。

大家也许现在应该知道了BlenderPlayer本质和BGE没啥不同,只是独立出来的播放器。如果你把做好的.blend文件直接扔到BlenderPlayer应用里也可以直接运行。

其次,你要知道怎么玩Logic Editor。Blender更新后,这个核心的理念没有变:一切都是绝对的OO(面对对象);Sensors,Controllers和Actutors的关系其实可以用程序完全模拟,但是没有再比选择这个物体并直接在这个物体上加个COntroller这样容易的事情了。但是同理,由于是严格的OO,习惯打代码的同志们,必须要明白,代码打在那个新版本的Console里和BGE没有一点点关系。你必须找到一个物体,哪怕只有摄像机做为程序启动的开始。摄像机可以加个Always的Sensor然后加Python作为Controller,至于做什么动作和反映都是可以写到程序里的,有时候为了看的方便链接到Actuators做个选择比较延时之类的。Controller除了做为逻辑门的选择外就是Expression和python,Expression其实也是对判断很有用的,本来Python就适合做流程控制的。Python有Module和Script两种模式。 Script是链接文本文件的。其实和BGE最有关系的就是文本编辑器(Text Editor)了,写的文本会自动保存,所以在Contorller下你只要选择到你写的那个Script就好了。  Module模式,虽然做小的BGE项目用到不多,但这个才真正是Blender强大的地方,可以当IDE来玩。你写好一个模块放在.blend边上,通常是.py的文件,然后在module里是.main就对了。这个和Flash把Class写在外面是一个概念。

需要提一点的是,BGE里很多复杂问题的解决办法就是传参数(Game Property),你会发现像延时之类的问题,参数性质本身就有考虑到,比起自己写的效率要高很多。

最后,从老版本升上来的用户也许知道怎样debug会比较方便,新的版本有更方便的方法吗?其实没有,那个console在P之后就没什么作用了。你还是要看Terminal里面的。在Win下打开Blender时是一同出现,Mac里必须从Terminal里启动。从Terminal或者CMD里直接启动blender的方法因OS不同所以都不同,这里就不罗唆了。

最后的最后,对很多玩家来说看以前的Blender BGE教程是一种灾难,很多人不理解为啥GUI会用3D的片面做,其实这也是Blender架构下 OO的限制。现在好了,有一个很好玩的东西解决GUI的问题了,那个就是BGUI,在Moguri的博客里有放送,支持一下,期待功能完善啊。

好拉,我就罗唆这里拉,





该贴已经同步到 Alan.Hao.HZH的微博
发表于 2011-6-28 21:53:19 | 显示全部楼层
本帖最后由 sjn1978 于 2011-6-28 21:59 编辑

楼主忘了给出BGUI的下载连接了
http://code.google.com/p/bgui/

我想用blender配置UDK弄着玩玩看
http://blenderartists.org里面的game engine分版看了些提供的游戏图片,有的做的真不错

被CD MASTER做的游戏场景教程震撼了一下,BGE原来也很强呢
warehouse.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-6-28 22:30:42 | 显示全部楼层
呵呵,不好意思啊,打的时候忘记做链接了
回复 支持 反对

使用道具 举报

发表于 2011-6-29 10:33:16 | 显示全部楼层
被网上那个浴室的效果震撼过
楼上那个也好强
风格貌似求生之路 僵尸来了
回复 支持 反对

使用道具 举报

发表于 2011-7-4 00:03:22 | 显示全部楼层
期待你的科研成果! :p //

来自 congcong009 的新浪微博
回复 支持 反对

使用道具 举报

发表于 2011-7-15 10:02:30 | 显示全部楼层
看完后只有一个感觉,想做商业程序你还得研究下B的源代码以便把一切都加密了...
回复 支持 反对

使用道具 举报

发表于 2011-8-13 13:01:19 | 显示全部楼层
厉害厉害
回复 支持 反对

使用道具 举报

发表于 2011-9-10 20:35:43 | 显示全部楼层
octopus_lang 发表于 2011-7-15 10:02
看完后只有一个感觉,想做商业程序你还得研究下B的源代码以便把一切都加密了... ...

呵呵,现在都不流行这样做了,现在的厂商都乐意放出mod工具,支持玩家修改游戏,自制游戏内容。
再说,加密游戏数据基本也不起什么作用,照样能被人破解掉。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Blender最新中文教学视频|Blender头条|小黑屋|手机版|Archiver|Blender中国 ( 蜀ICP备17002929号 )360网站安全检测平台

GMT+8, 2019-1-20 20:11 , Processed in 0.038936 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表