unity3d杂记

由于公司用unity3d开发客户端部分,今天去参加了下unity3d成都开发者大会。在这里简单记录一下会议里关于unity3d的内容。
说到unity3d,第一次知道的时候也是大概3年前的事情。这几年它发展十分迅猛,不得不佩服他在中国市场上推广的投入。相对于unreal与crysis这些大牌引擎商,unity3d无论从上手难度,使用成本,开发便捷都要更胜一筹。虽然它在次世代效果上不如前者,但对于市场上大多数游戏,尤其是手机,Pad,以及国内网游来说已经是大大够用了。在目前的市场来看,大型游戏,次世代游戏已经成为少数大厂家的专利。小中型团队由于技术门槛,开发成本,团队磨合度等因素,基本上玩不起。正是这样的特点,它迎合了现在的市场需求,发展迅速。
这次大会主要还是一次商业上的推广活动,对于技术上的讨论大多数只是简单介绍了一下,我简单记录一下,有机会后面可以深入研究下。
web player,unity3d在国内的CDN合作是china cache.需要在web前端用js接入来下载web player。同时也和360合作,用户如果使用360浏览器,将自动安装web player。如果需要连接Facebook,可以在asset store上面下载sdk。我们在发布时,应该禁用掉网页右键菜单对于web player版本的选择,以免用户不注意选择了不合适的web player版本。
对于Flash,听说在之前的某个版本可以将整个工程自动转换到as脚本,但目前新的版本已经去掉了。而chrome的native client并没有支持的计划,理由是google这个技术目前还没有足够成熟。对于html5,unity目前已经开始支持,会在后面的版本中推出。
web cache,这个不同于浏览器的cache,它只缓存asset bundle,并且自动解压到cache里面。这个需要购买。
移动平台在unity 4.0以后取消了ARM v6架构的支持。因此如果需要支持这种比较老的设备只能使用4.0以前的版本。
代码安全部分。由于ios使用xcode编译成native的执行文件,相对安全。但是在andriod上面由于直接使用脚本,容易破解。官方推荐了两个方法,第一是将脚本打包成text asset二进制流加密后再打包成asset bundle。第二是通过脚本工具对代码进行变量名函数名的混淆。不过个人觉得这两种办法也只是增加了破解的时间而已。
一个asset bundle在下载时需要建立8M的内存空间。所以不要同时下载太多的asset bundle,以免内存不足。
由于协程在并不是真正的多线程实现,只是利用主线程的碎片时间执行,所以不要大量使用。
GIS的数据可以直接倒入unity,不过需要MS&T版本。
这次还推出了新的unity2d支持,个人感觉使用很方便。除了在编辑器的支持上比起corona方便许多外,也没有太多新颖的地方。只有一点比较不错,就是sprite meshification功能。简单来说就是将sprite里alpha镂空的部分通过生产更多的三角形数据来做镂空,从而不需要使用alpha镂空,使得渲染上节省pixel filling。
还有部分同学提到了移动平台动态更新的问题。官方提出使用asset bundle的方式来解决,感觉说得有点神秘的样子。其实也不过就是将代码打包成资源,利用.net的反射访问。
unity3d杂记的更多相关文章
- Unity3D的杂记
刷新帧的不同控制函数 FixedUpdate 可以多次调用: 不饿能用于帧频很高的情况: Update 仅一次调用(每帧): LateUpdate 每帧调用一次: Corountine 用startC ...
- Unity3d学习 预设体(prefab)的一些理解
之前一直在想如果要在Unity3d上创建很多个具有相同结构的对象,是如何做的,后来查了相关资料发现预设体可以解决这个问题! 预设体的概念: 组件的集合体 , 预制物体可以实例化成游戏对象. 创建预设体 ...
- Unity3d入门 - 关于unity工具的熟悉
上周由于工作内容较多,花在unity上学习的时间不多,但总归还是学习了一些东西,内容如下: .1 根据相关的教程在mac上安装了unity. .2 学习了unity的主要的工具分布和对应工具的相关的功 ...
- TDD在Unity3D游戏项目开发中的实践
0x00 前言 关于TDD测试驱动开发的文章已经有很多了,但是在游戏开发尤其是使用Unity3D开发游戏时,却听不到特别多关于TDD的声音.那么本文就来简单聊一聊TDD如何在U3D项目中使用以及如何使 ...
- warensoft unity3d 更新说明
warensoft unity3d 组件的Alpha版本已经发布了将近一年,很多网友发送了改进的Email,感谢大家的支持. Warensoft Unity3D组件将继续更新,将改进的功能如下: 1. ...
- Unity3D框架插件uFrame实践记录(一)
1.概览 uFrame是提供给Unity3D开发者使用的一个框架插件,它本身模仿了MVVM这种架构模式(事实上并不包含Model部分,且多出了Controller部分).因为用于Unity3D,所以它 ...
- Unity3D 5.3 新版AssetBundle使用方案及策略
1.概览 Unity3D 5.0版本之后的AssetBundle机制和之前的4.x版本已经发生了很大的变化,一些曾经常用的流程已经不再使用,甚至一些老的API已经被新的API所取代. 因此,本文的主要 ...
- 山寨Unity3D?搜狐畅游的免费开源游戏引擎Genesis-3D
在CSDN上看到了<搜狐畅游发布3D游戏引擎Genesis-3D 基于MIT协议开源>(http://www.csdn.net/article/2013-11-21/2817585-cha ...
- 从Unity3D编译器升级聊起Mono
接前篇Unity 5.3.5p8 C#编译器升级,本文侧重了解一些Mono的知识. Unity3D的编译器升级 新升级的Mono C#编译器(对应Mono 4.4) Unity编辑器及播放器所使用的M ...
随机推荐
- JS简单路由实现
说一下前端路由实现的简要原理,以 hash 形式(也可以使用 History API 来处理)为例, 当 url 的 hash 发生变化时,触发 hashchange 注册的回调,回调中去进行不同的操 ...
- Pycharm消除波浪线
PyCharm使用了较为严格的PEP8检查规则,稍微有点错误就会出现波浪线提示.那么怎么消除这些波浪线呢?一个简单粗暴的方法就是:在编辑器的右下角有个小人形状的按钮,点开之后有个滚动条,将滚动条滑动到 ...
- Java二分法查找
二分法查找 /** * 二分法查找 找不到返回-1 * @author yangzi * */ public class TwoFind { public static int twoFind(int ...
- Qt杂记——布局、信号与槽等
1.QHBoxLayout布局设置拉伸: ui->TopLayout->setStretch(,); //left ui->TopLayout->setStretch(,); ...
- Xamarin绑定ios静态库
以下是官方的步骤介绍,我就不再一步步解释了 https://docs.microsoft.com/zh-cn/xamarin/ios/platform/binding-objective-c/walk ...
- 从整体上理解进程创建、可执行文件的加载和进程执行进程切换,重点理解分析fork、execve和进程切换
学号后三位<168> 原创作品转载请注明出处https://github.com/mengning/linuxkernel/ 1.分析fork函数对应的内核处理过程sys_clone,理解 ...
- scala学习(1)----map和flatMap的区别
转载:https://www.cnblogs.com/wbh1000/p/9846401.html 两者的区别主要在于action后得到的值 例子: import org.apache.spark.{ ...
- xmpp聊天室(5)
聊天室 //初始化聊天室 XMPPJID *roomJID = [XMPPJID jidWithString:ROOM_JID]; xmppRoom = [[XMPPRoom alloc] initW ...
- 使用JavaScript制作一个好看的轮播图
目录 使用JavaScript制作出好看的轮播图效果 准备材料 1.图片若干张(包括轮播图和按钮的图片) 2.将按钮的图片应用到按钮上的CSS样式文件 3.实现轮播和点击跳转的JavaScript代码 ...
- 洛谷——P2090 数字对
P2090 数字对 题目描述 对于一个数字对(a, b),我们可以通过一次操作将其变为新数字对(a+b, b)或(a, a+b). 给定一正整数n,问最少需要多少次操作可将数字对(1, 1)变为一个数 ...