是什么在阻止我们学习unity2019?
背景
时过境迁,这是一篇老文,写于2019年5月。
在学习最新的unity ecs过程中,以及学习最新的effect 时,在迈出第一步的时候即遭遇一些困难(学习和测试环境搭建不起来,有时候真的很无语),造成了一种“出师未捷,身先死”的赶脚。
实现
经过不断的尝试,实验和总结,总于有了很好的解决方案。
首先描述一下问题
具体问题以 ECS为例,按照官方以及大佬的教程和样例,
1、无法通过packages manager(国内部分网络如中国移动宽带)进行必要的包下载
2、可下载大佬教程例子,但包下载冲突或者api过期无法编译(初学者直接蒙逼,一声叹息!)
问题1的原因,unity 2018版本后推出了Package manager进行自己开源和第三方开源的包和插件的管理(类似.net nuget,又跟风) 大概可以定位到Package manager 用了一种本地代理的技术进行包下载,鉴于国内恶略的网络环境出现问题也是正常,解决方案 其实就是两种
a、土豪法,直接给网络搞定,这个就不用我多说了,土豪都懂得
b、屌丝法 又分为三个方法
1) 直接通过 packages 的mainfast.json配置文件进行包管理,目前github 下载下来的工程基本默认是这种方式,但是还是会出现不好用的情况(其实出现这种问题可以归结到问题2,这个在问题也是的解决方法中,描述解决方法)
2) 通过直接拷贝packages包的源文件文件夹进行解决,这个也是一些网上的unity新版本学习先行者提出来的,理论可行但是比较麻烦,首先要能正确下载需要的包文件,这个其实倒是不难,但是这种方法总显得有些麻烦,毕竟不如方法1 来的方便,所以不推荐使用
3) 通过修改 mainfast.json 配置文件进行 package 本地离线配置,进行包管理,实际上解决的方式很暴力,不是网络下载不了吗,那我直接使用离线版本行了吧,通过此方法竟然还能带来一个神奇的副作用,可以直接编译,debug 包的源代码了(比如我们要深入学习unity ecs系统就特别happy)。
文后附件,我会提供相关的配置文件和工程源码有需要的同学自己自行获取。
问题2 的原因 又分为两个 1、主要在于unity package manager这种跟风开源的组件包的策略的天生弊端性。
我们听说过一句话“开源就代表着质量低下”,道理很简单吗,如果开源的代码质量都那么好,干嘛需要商业软件,商业软件存在必定有他的道理。那么unity的 package 开源形式本事就存在着预览版不稳定,然后又加上本身包之间又有依赖关系,如ecs中 enities 又依赖burst ,collection ,job等多个包,本身这些包又是多个小组开发的又都是预览版,怎么保证这么多现编译的代码,再加上本身unity editor又是多版本快速迭代,这些东西加在一起,就变成了一种不可控制的变量了,不出问题都不正常。
2、本身这些包,在预览版不断迭代,api 变更很频繁,如ecs系统 竟然经过了30个版本的迭代(如本文发布的时候竟然是0.0.12-preview30)让人很蛋疼。照成了很多新手学习之后发现 过了一段时间api就变了,或者看的教程就是非最新版本的包,连下载都不能下载环境的搭建不出来,照成学习半途而废。
所以这里给的解决方案有3
1、按照问题1 的解决方法,建立一个相对稳定的版本和开发学习环境,(如学习ecs)在这个稳定环境中 将要学习的插件学习好,先不理会官方最新版本的迭代,我们先将知识的精髓学会
2、当你明白了包的精髓(如ecs学习),明白了他的原理以后呢,我们就可以很轻松的调整package manager 包管理器的mainfast.json配置文件,来选择自己所希望的版本
3、查询官方文档,特别是release 版本变更或者是api升级的文档,修改过时或者被拒绝的api到最新的api,最终跟上unity的快节奏。
是什么在阻止我们学习unity2019?的更多相关文章
- css3常用标签
30个最常用css选择器解析 你也许已经掌握了id.class.后台选择器这些基本的css选择器.但这远远不是css的全部.下面向大家系统的解析css中30个最常用的选择器,包括我们最头痛的浏览器 ...
- 使用C# yield关键字来提高性能和可读性
对于”yield”这个关键字我已经见过N次了,直到最近我才知道这个关键字所蕴含的力量.我将在下面展示出一些使用”yield”让你的代码有更高可读性和更好性能的例子. 为了让你对yield有一些快速概览 ...
- 小白菜初探nodejs
记得大四那年实习的时候出去找工作,就常常听见大家说node.从那以后,悄然埋下了一颗学习nodejs的心.不过由于基础太薄弱,一直没有学习.加之工作上没有相关应用,就一直搁置到现在. 年会的时候,老大 ...
- LA 3485 (积分 辛普森自适应法) Bridge
桥的间隔数为n = ceil(B/D),每段绳子的长度为L / n,相邻两塔之间的距离为 B / n 主要问题还是在于已知抛物线的开口宽度w 和 抛物线的高度h 求抛物线的长度 弧长积分公式为: 设抛 ...
- 30个最常用css选择器解析
转自:http://www.cnblogs.com/yiyuanke/archive/2011/10/22/CSS.html 你也许已经掌握了id.class.后台选择器这些基本的css选择器.但这远 ...
- [转]C#中yield用法
yield 关键字向编译器指示它所在的方法是迭代器块.编译器生成一个类来实现迭代器块中表示的行为.在迭代器块中,yield 关键字与 return 关键字结合使用,向枚举器对象提供值.这是一个返回值, ...
- 一周学会Mootools 1.4中文教程:(1)Dom选择器
利器: 君欲善其事须先利其器,好吧因为我们的时间比较紧迫,只有六天而已,那么六天的时间用死记硬背的方式学会Mt犹如天方夜谭,因此我们需要借鉴一下Editplus的素材栏帮我们记忆就好了,当我们需要用到 ...
- 函数式编程很难,这正是你要学习它的原因 | 外刊IT评论网
函数式编程很难,这正是你要学习它的原因 | 外刊IT评论网 函数式编程很难,这正是你要学习它的原因 156 次分享 新浪微博 腾讯微博 Tweet 人人网 QQ空间 很奇怪不是,很少有人每天都使用函数 ...
- Image Restoration[Deep Image Prior]
0.背景 这篇论文是2017年11月29号第一次提交到arxiv并紧接着30号就提交了V2版本的. 近些年DCNN模型在图像生成和修复上面表现很好,大部分人认为好的原因主要是由于网络基于大量的图片训练 ...
随机推荐
- Color Highlight 鼠标放在 #f3f 上面其背景会变成相应的颜色的插件 DocBlockr自动补全注释
不是 Color Highlighter 而是 Color Highlight 少了 er 颜色功能还是很爽的,找了好久 鼠标放在 #f3f 上面其背景会变成相应的颜色的插件 DocBlo ...
- 学到了林海峰,武沛齐讲的Day18 迭代
x='hello' gxr=iter(x) gxr=x.__iter__() print(next(gxr)) print(gxr.__next__()) iter()===__iter__ next ...
- luogu P1382 楼房
二次联通门 : luogu P1382 楼房 /* luogu P1382 楼房 线段树 + 扫描线 + 离散化 正解貌似是堆... MMP...二段式线段树各种错误... 离散化一下横坐标 扫描线扫 ...
- 微信小程序环境下将文件上传到 OSS
步骤 1: 配置 Bucket 跨域 客户端进行表单直传到 OSS 时,会从浏览器向 OSS 发送带有 Origin 的请求消息.OSS 对带有 Origin 头的请求消息会进行跨域规则(CORS)的 ...
- git add 不能提交 vendor下面的一个文件夹
项目要用grpc.然后composer require XXX. 把对应的包拉倒vendor目录下面.(这里先不考虑要把vendor composer.lock提交到版本库的问题) 然后开发完成后 ...
- vue移动app扫码功能
第一步: 上面这段代码写在index.html里面,我也不知道为什么,可能是全局的关系: 第二步: 定义一个按钮,点击启动扫码功能,另外再定义一个盒子来当做扫码的容器:我给这个盒子定义了一个id类名: ...
- Apache Flink - 内存管理
JVM: JAVA本身提供了垃圾回收机制来实现内存管理 现今的GC(如Java和.NET)使用分代收集(generation collection),依照对象存活时间的长短使用不同的垃圾收集算法,以达 ...
- python: 关于解决'\u'开头的字符串转中文的方法
爬虫爬到的内容是这样的: 如果直接打印出来是这样的: python3的解决办法:字符串.encode('utf-8').decode('unicode_escape') python2:字符串.dec ...
- Linux系统中rm删除命令
rm命令 1.可以删除一个目录中的一个或多个文件或目录 2.可以将某个目录及其下属的所有文件及其子目录均删除掉 3.对于链接文件,只是删除整个链接文件,而原有文件保持不变 语法 rm (选项)(参数) ...
- elasticsearch工作笔记002---Centos7.3安装最新版elasticsearch-7.0.0-beta1-x86_64.rpm单机版安装
新版本es安装问题: https://blog.csdn.net/lidew521/article/details/88091539