从0开始学Unity做SLG系列(发布篇)

5 篇文章 0 订阅
4 篇文章 0 订阅

IOS发布流程

在这里插入图片描述
1.首先在这里打开设置面板
在这里插入图片描述
2.上面添加好所有用到的scene,切换到要发布的版本再发布会快很多,当前的模式后有个小图标,如果要切的别的模式,3会有个switch。
在这里插入图片描述
3.填写发布内容,ios的话这个包名需要修改,打到手机上要配合证书才行
在这里插入图片描述
4.选好目录,输入名字点save就可以了,如果save是灰色的,注意名字是否填写
在这里插入图片描述
5.发布后用xcode运行
在这里插入图片描述
在这里插入图片描述
6.没有开发者证书的话,需要登陆开发者账号,然后这么设置即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.进入游戏等了半天,需要发布设置取消勾选Developmet Build,然后按前面运行完会发现空场景,什么都没有,是因为资源没有加载,需要用AssetBundle打ab包才行,首先进行编辑,分享两个教程,详细的可自行查找教程A 教程B

8.上图里3是项目所有的资源,1是自己创建的打包结构,可以按自己的想法通过4添加一些资源包,然后在3里选好资源,点击5添加到1的包里,点击1里不同的包可在2里查看都有哪些资源,编辑好后点击Sava,会发现Configs下面多了个XML文件,这个文件记录着AB包的编辑信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.然后进行创建,上面选好要发布的平台,下面是资源版本号,然后选好存放目录就可以了,点击Sava保存后,点击StartBuildAssetBundles开始打包。(如果点了没反应,查看BuildReport 目录,记录了生成日志,看看是否出现错误,我遇到了 找不到StreamingAssets目录,创建了一个就好了,但是每次打包都会自动删除,需要再添加,暂时还未查找原因)

10.打包完成后,只要把 Package(单机模式)或 Packed(可更新模式)中对应版本(如 0_1_0_1)、对应平台的内容(如 windows),完整拷贝至 Unity 工程的 Assets/StreamingAssets 中,即可构建 App 用于发布游戏了。

mac上测试加载资源

1.在Builtin物体找到BaseComponent取消编辑器资源模式的勾选
在这里插入图片描述

2.打开ProcedureCheckVersion,找到TODO的地方,根据项目类型选择执行的方法
在这里插入图片描述
在这里插入图片描述

3.点击运行,测试是否可以正常加载资源(注意,单机要拷贝Package目录下,mac上运行要拷贝osx目录下内容,如果没有该目录,查看发布ios流程第9步,是否选了该平台。

什么是AB包?
AssetBundle的作用是,把资源打包,然后可以动态加载,从而可以实现资源的热更新。

以下转载自官网说明:
界面从左到右分为 AssetBundle 列表、AssetBundle 内容列表和 Asset 资源列表三部分。
1、AssetBundle 列表
AssetBundle列表(AssetBundle List)列出了项目中包含的所有 AssetBundle,空 AssetBundle、场景 AssetBundle 和非场景 AssetBundle 分别用三种不同的图标标识。
功能按钮说明:
① 增加新的 AssetBundle,点击后需指定 AssetBundle 的名称(含目录名,使用“/”分隔)和变体名称(可空、根据需要使用)。
② 重命名选中的 AssetBundle。
③ 移除选中的 AssetBundle。
④ 更改 AssetBundle 的加载方式,可选择从文件加载、从内存加载,或者是从内存中解密后加载等。
⑤ 标记此 AssetBundle 是否需要随 App 一起发布,若勾选则打包时会做特殊处理。
注:若新增或重命名 AssetBundle 失败,可能是名称包含不合法字符(只能使用大小写英文字母、数字、点、中划线和下划线)或者重名(判定重名不区分大小写)。
2、AssetBundle 内容列表
AssetBundle 内容列表(AssetBundle Content)列出的当前选中的 AssetBundle 中包含的资源。若某个资源是无效的,会以黄色叹号前缀图标和资源的 GUID 显示,产生无效资源的原因一般是删除了 Asset 但没有从 AssetBundle 内容列表中移除。
功能按钮说明:
① 选中 AssetBundle 内容列表中的所有资源。
② 取消 AssetBundle 内容列表中所有资源的选中状态。
③ 更改 AssetBundle 内容列表中的显示方式,可选择 Name(资源文件名)、Path(资源全路径)或者 Guid(资源 GUID)。
④ 将选中的资源从 AssetBundle 中移除。
3、Asset 列表
Asset 列表(Asset List)列出从指定路径下筛选出的所有资源。
功能按钮说明:
① 将选中的一个或多个资源增加到选中的 AssetBundle 里。由于 Unity 的限制,不允许在一个 AssetBundle 中同时存放场景(*.unity)和非场景资源。
② 分别将已选中的一个或多个资源作为 AssetBundle 名来创建 AssetBundle,并将自身加入到对应的 AssetBundle 里。
③ 隐藏已经存在于 AssetBundle 中的资源,只列出尚未指定 AssetBundle 的资源。
④ 从所有的 AssetBundle 中清理无效的资源,并移除所有空的 AssetBundle。建议 Save 前总是点一下 Clean 按钮,因为构建 AssetBundle 的时候,Unity 不允许存在无效的资源或者空的 AssetBundle。
⑤ 保存当前所有 AssetBundle 和资源的状态。注意在使用此编辑工具的过程中随时保存编辑结果,若需要恢复上次编辑状态,关闭并重新打开此编辑工具即可。

准备打包
加载中…GameFramework篇:打包需知 - 第5张
加载中…GameFramework篇:打包需知 - 第6张
此窗口中显示的选项包括:转载自http://gameframework.cn/archives/356
环境信息(Environment Information)列出了当前项目的基础信息。
构建对象(Build Target)用于指定构建哪些平台的 AssetBundle。

AssetBundle 选项(AssetBundle Options)用于指定构建 AssetBundle 时的参数,此处选项最终转换为 Unity 中的 BuildAssetBundleOptions 枚举,一般情况下使用默认设置即可。由于构建过程需要对生成的 AssetBundle 名称进行处理,故这里不允许使用 Append Hash To AssetBundle Name 选项。

压缩所有 AssetBundles(Zip All AssetBundles)用于指定构建 AssetBundle 后,是否进一步使用 Zip 压缩 AssetBundle 包。

记录离散依赖资源(Record Scattered Dependency Assets)选项会向资源列表文件中追加依赖资源信息,用于调试(此部分尚未完成)。

构建事件(Build Event Handler)用于指定追加构建资源包前后的行为,在实现 IBuildEvent 接口之后,即可在此处选择。例如可以在构建资源包后自动将资源拷贝到指定目录。

内部资源版本号(Internal Resource Version)建议每次自增 1 即可,Game Framework 判定资源包是否需要更新,是使用此编号作为判定依据的。

资源版本号(Resource Version)根据当前 App 版本号和内部资源版本号自动生成,作为参考显示。

输出目录(Output Directory)用于指定构建过程的结果输出目录(手动输入的话,记得按下回车键 _),请确保具有访问此目录的权限且具有足够的磁盘空间。 Working Path:Unity 生成 AssetBundle 时的工作目录。Output Package Path:为单机模式生成的文件的所在目录,若游戏是单机游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后构建 App 即可。Output FullPath:为可更新模式生成的完整文件包的所在目录,若游戏是网络游戏,生成结束后应将此目录上传至资源服务器,供玩家下载用。Output Packed Path:为可更新模式生成的文件的所在目录,若游戏是网络游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后构建 App 即可。一个 AssetBundle 是否会生成到 Output Packed Path,取决与这个 AssetBundle 是否在 AssetBundle 编辑工具中被标记为 Packed。

### 如何在 Unity SLG 游戏中创建和渲染河流效果 #### 使用 Tilemap 实现基础地形布局 对于策略类游戏 (SLG),Unity 的 `Tilemap` 组件提供了一个强大的工具来布置地图上的静态元素,比如建筑物、树木以及河流等自然特征。为了创建河流的效果,可以通过自定义瓷砖(Tiles)的方式绘制出蜿蜒曲折的水道形状[^1]。 ```csharp // 创建一个新的 Tilemap 并设置其属性 public class RiverGenerator : MonoBehaviour { public Grid grid; private void Start() { var tilemap = new Tilemap(); tilemap.transform.SetParent(grid.transform); // 设置 Tilemap 属性... } } ``` #### 设计流动感强烈的纹理贴图 为了让河流看起来更加生动逼真,除了简单的线条表示之外,还需要精心设计带有水流方向性的纹理贴图。这种类型的材质可以在图像编辑软件中预先准备好,并导入到 Unity 中作为 `Sprite` 资源使用。之后将其应用给特定的 Tiles 来模拟水面波动的感觉[^2]。 #### 添加粒子系统增强视觉表现力 仅靠平铺式的图片可能不足以传达出足够的动态感。因此还可以考虑引入 Particle System 粒子特效组件,在河岸两侧释放一些小型气泡或者涟漪效果,从而进一步强化流水的真实度。这些微小细节有助于提升整体沉浸体验[^3]。 #### 应用 Shader 或者后期处理增加真实质感 最后一步则是借助 Shaders 技术或是 Post-processing Stack 后期处理栈来进行最终润色。例如通过编写 HLSL/GLSL 代码实现法线映射 Normal Mapping 和反射 Refraction 功能,使表面呈现出更接近实际物理特性的光影变化;或者是调整色彩平衡 Color Grading 参数让整个场景色调统一和谐。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值