怎样模拟Unity游戏环境并从服务器直接下载asset到本地?

怎样模拟Unity游戏环境并从服务器直接下载asset到本地?,第1张

Unity会下载Assetbundle本地中,它的工作原理是先通过(版本号和下载地址)先在本地去找看有没有这个Assetbundle,如果有直接返回对象,如果没有的话,在根据这个下载地址重新从服务器或者本地下载。这里版本号起到了很重要的作用,举个例子,同一下载地址版本号为1的时候已经下载到本地,此时将版本号的参数改成2 那么它又会重新下载,如果还保持版本号为1那么它会从本地读取,因为本地已经有版本号为1的这个Assetbundle了。你不用担心你的资源本地下载过多,也不用自己手动删除他们,这一切的一切Unity会帮我们自动完成,它会自动删除掉下载后最不常用的Assetbundle ,如果下次需要使用的话只要提供下载地址和版本后它会重新下载。
我们在聊聊Assetbundle 中的脚本,在移动平台下Assetbundle里面放的脚本是不会被执行的,还记得我们打包前给两个Prefab挂上了脚本吗?在手机上将Assetbundle下载到本地后,加载进游戏中Prefab会自动在本地找它身上挂着的脚本,他是根据脚本的名来寻找,如果本地有这条脚本的话,Prefab会把这个脚本重新绑定在自身,并且会把打包前的参数传递进来。如果本地没有,身上挂的条脚本永远都不会被执行。
在Prefab打包前,我在编辑器上给脚本中的变量 name 赋了不同值,当Prefab重新载入游戏的时候,它身上脚本的参数也会重新输出。
如果你的Assetbundle中的Prefab上引用的对象,那么这样做就会出错了,你需要设定他们的依赖关系。或者运行时通过脚本动态的载入对象。

逻辑实现者:工作是实现从游戏主循环到每个游戏元素的逻辑。在小团队里一般是唯一的一名程序员,在大团队里是GPP(Game play Programmer)。注意如果是独立游戏项目的话,借助第三方插件,非程序员也可以担任这个角色。
内容设计者(读作cehua):在大团队里基本上就是策划职位,和传统策划的区别是因为Unity团队里负责这个任务的人基本上是一定要摆弄场景、制作prefab的,没有点动手能力光会写文档可不行。
美术:工作包括从游戏概念图的设计到模型动画等美术资源的设计制作。具体细分可以参考游戏工业标准,Unity团队也不例外。
交互设计和实现:界面设计、界面实现编程,由于Unity下有很多不错的UI插件,所以这份包括设计师和程序员的工作我给合并到了一起。在Unity下就算是由设计师自己来做交互实现编程也不会很难。
主程序/架构设计师:适用于大项目或大团队的高端职业,他们的主要任务不是生产用户能玩到的具体游戏性,而是为其他团队成员搭建一个可以沟通协作的框架或
工具集。对大型Unity项目来说,如果团队里没有这么一个经验丰富思路清晰的高手,很快项目就会被各种突飞猛进(因为Unity开发新功能原型实在太快
了,很容易让人忽略结构问题)的feature生产搞的累赘不堪,然后在没有人指导项目重构的情况下,生产效率从每周一个feature下降到每个月一个
feature,还伴随无数难以修复的bug。
服务器程序员:网游项目必备,其描述适用于游戏工业标准,这里不赘述。
版本管理员:适用于大项目,最好精通Git或plasticscm这类分布式版本控制系统,好处是方便做branching而且可以拆分项目为多个子项目,Unity项目大了以后运行效率是很差的,拆分项目也有利于控制不同分工的团队成员的权限。
音效设计师:可选,推荐还是外包音效+内部实现的做法,因为Unity并没有一个完全封装好的音效中间件,如果音效设计师要进行实际调试,就要完全掌握
Unity组件系统,在国内来说这个要求还是比较高的。怕麻烦的话拿到外包的文件然后让程序员或策划去导入和测试就好了。

相比高度工业化的Unreal,不管是Unity的早期用户群还是今天的用户里,独立游戏开发者都占了相当大的比重。在一个Unity3D游戏开发的团队里,能获得最佳用户体验的团队在1人-10人,20人靠上就必须要靠专门定制的工作流程和辅助工具来保证协作质量和效率。

Unity3D游戏开发团队需要的角色,视项目的不同也有很大的区别。下面就列一下:

逻辑实现者:工作是实现从游戏主循环到每个游戏元素的逻辑。注意如果是独立游戏项目的话,借助第三方插件,非程序员也可以担任这个角色。

内容设计者:在大团队里基本上就是策划职位,负责这个任务的人基本上是一定要摆弄场景、制作prefab的,没有点动手能力光会写文档可不行。

美术:工作包括从游戏概念图的设计到模型动画等美术资源的设计制作。

交互设计和实现:界面设计、界面实现编程,由于Unity下有很多不错的UI插件,在Unity下就算是由设计师自己来做交互实现编程也不会很难。

主程序/架构设计师:适用于大项目或大团队的高端职业,他们的主要任务不是生产用户能玩到的具体游戏性,而是为其他团队成员搭建一个可以沟通协作的框架或工具集。

对大型项目来说,如果团队里没有这么一个经验丰富思路清晰的高手,很快项目就会被各种突飞猛进的同行产品所覆盖。目前Unity3D游戏开发新功能原型的产出实在是太快了,这就容易让人忽略结构的问题,当然还伴随无数难以修复的bug。

服务器程序员:网游项目必备,其描述适用于游戏工业标准。

版本管理员:适用于大项目,最好精通Git或plasticscm这类分布式版本控制系统。

音效设计师:可选,推荐还是外包音效+内部实现的做法。

代码写错了 ApplicationLoadLevel函数有两种用法: 1、参数为场景的编号,编号可以在buildsetting中查看 2、参数为场景的名称 显然,你的代码用的是1方法,但是由于你是远程下载的场景文件,所以并没有在本地,所以,用编号是无效的,你可以试


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10359057.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存