拷问Unity:开发U3D游戏要思考的问题

代码驱动带来的技术题

游戏碎片化。U3D 引擎有个很有力的特色,就是实时编译运行。这意味着无论在任何时候,只要按下运行图标,当前的场景就会进入可执行状态。这导致了游戏在开发的过程中经常陷入一种不应当的自信状态。同时也导致了游戏内容长期处在碎片状态下,并低估游戏功能整合时可能遇到的困难。

资源管理是 U3D 引擎的一个难点。U3D 的资源管理系统因为跨平台的缘故和操作系统的文件系统是脱钩的,需要熟练的掌握 Resources 目录和 Assetbundle 的技术才能灵活的控制游戏中的资源使用情况。但这一工作时常会被简单的理解为将资源放置在游戏工程目录下,剩下的交给引擎自己搞定 ……

继续阅读

了解Unity中的多线程及使用多线程

如果你想在游戏中使用多线程,你应该看看这篇文章,线程是一个相当复杂的话题,但如果你掌握了它,你就可以从容的使用多个硬件处理器或处理很难划分管理数据块.

如在场景中用A*算法进行大量的数据计算.
变形网格中操作大量的顶点.
持续的要运行上传数据到服务器.
二维码识别等图像处理.
继续阅读

使用中国CDN网络分发Unity 网页插件的方法

为了让中国用户以最快的速度下载并使用Unity Web Player插件,从而运行使用Unity引擎开发的网页游戏和应用,Unity公司已经与中国的CDN网络提供商ChinaCache达成了深度的合作协议,允许中国用户通过ChinaCache来下载Unity Web Player的插件、播放器以及升级包。以下是具体的使用方法。

为了确保中国用户从ChinaCache下载相关资源,网页游戏开发商需要自行修改自己的html文件,对于使用Unity3.x编辑器发布的html文件,请使其包含以下内容: 继续阅读

优酷土豆视频去广告插件(苹果Safari浏览器插件)

优酷和土豆网的视频广告越来越长,还很频繁.有时候真的很烦.

这是由鲁夫(http://player.opengg.me)开发的支持多种浏览器的”清净”播放器插件,Mac系统下我安装脚本失败,所以重新封装了一下,做成了Safari扩展包,双击即可实用.浏览视频时,页面会显示”启用”提示,这时候整个世界都是你的了~~

ps:我会保持跟进更新.

V1.3版下载:点击下载此文件 (2012,12,26)

输出Unity的场景文件为Obj模型文件

在Unity中建立的场景文件,摆放的模型可以用下列脚本导出为Obj模型文件,可以保持场景中模型的位置,贴图灯信息.

将脚本命名为ObjExporter.cs,放在项目的Editor目录下,选择你要导出的模型物体(可以有若干子物体),在编辑器菜单中找到Custom的输出选项,能看到三个选项,分别是”输出所有网格到单一的Obj文件”,”输出选择的网格合体到一个Obj文件”,”输出每个选择的模型到单一Obj文件”,一般常用第二项.成功输出后将弹出对话框,模型和关联的贴图将放到项目的根目录的”ExportedObj”文件夹中.
继续阅读

Unity CEO访谈:Unreal投机 Unity简单实在

我们和Unity首席David Helgason谈论关于Unity最新版本,并它将如何影响游戏行业。

你能告诉我们关于Unity的历程以及现在的发展状况吗?

那我能说上大半天了[笑]。是这样,十年前我们三个哥们儿想要做游戏,但是没有我们买的起的引擎,除非我们都有钱或者资助。所以我们只有自己开发一个引擎。当我们这样做的时候,我们意识到,比起实际做游戏,我们更加热情于做我们自己的引擎。因此,我们改变了发展方向,七年前我们发布了第一代Unity版本。
继续阅读

Unity强制屏幕纵宽比脚本

强制屏幕到所需要的长宽比,可以根据需要自由选择是否应用强制比例.其中包括返回校正后的屏幕宽度,高度(Screen.width/height)和鼠标位置(Input.mousePosition).

将这个脚本放在编译顺序较优先的文件夹中,比如 Standard Assets, (Plugins是最先编译的),因此你可以用Js,C#等语言调用AspectUtility来使用它.首先要将它附加到Camera上,它同样可以附加给其他物体,如果你赋给其他物体,它将主动尝试找到标签为”Main Camera”的相机.对于WantedAspectRatio这个值,常见的是4:3为1.333333,16:10为1.6,16:9为1.777778,如果屏幕的纵宽比与设定的相同,不会有任何变化.如果与设定的纵宽比不同,将用黑色填充缺少的部分.
这样会导致有些方法返回不正确,比如Screen.width和Screen.height会返回实际屏幕尺寸,而不是主相机的尺寸,为了纠正这个问题,可以使用AspectUtility.screenWidth和AspectUtility.screenHeight.
继续阅读