找回密码
 立即注册
查看: 563|回复: 0

Unity项目间共享资源

[复制链接]
发表于 2021-4-15 20:26 | 显示全部楼层 |阅读模式
关键字

    unity资源共享multiplayer debug多人游戏调试mklinklink, ln
链接创建工具介绍

    当文件或文件夹被多个项目用到的时候,传统办法是将它们分别复制到各个项目,不但浪费空间,更新时也要更新多份。链接创建工具可以为文件或文件夹创建”任意门“。首先把要共享的资源单独准备好,然后只需要在不同项目里建立指向所需资源的”任意门“即可。感觉上像是”快捷方式“,也不会占用多份存储资源,但每个“任意门”的路径就像真的文件或文件夹那样,都是独立的,运作起来跟真实的文件或文件夹一样,不会像“快捷方式”那样跳转到原始资源路径。这就为各个项目(看起来)拥有自己独享的资源奠定了基础。无论创建多少“任意门”,实际上系统中仅存有一份原始资源。对原始资源或者任何“任意门”中的资源更新,可实时反映到各个相关项目中。
mklink


mklink是windows系统下的链接创建工具,请自行查阅mklink使用说明。
link


link也简称为ln,是Mac系统下的链接创建工具,请自行查阅相关使用说明。
用软连接实现Unity项目资源共享

只要把要共享的资源连接到Unity项目的Assets目录(或其子目录)中即可。以下描述我经常用的方案。
个人可重用资源库


通过开发一个一个项目,自己会累积很多可重用的资源(如代码、材质、音频、模型、预制体等)。我将这些资源单独组织在一个文件夹中,这个文件夹位于Unity项目目录之外。在开发Unity项目时,如果需要用到这个资源库,就将其链接到当前项目的Assets目录下。这样随着一个个项目的开发,这个库也在不断壮大,并且可在各个项目间共享。
发现的问题
    在Mac系统下,Visual Studio对于采用软链接实现共享的项目支持不好,无法debug。
用软连接实现Unity的多人游戏调试


Unity的项目无法同时打开多份,这就造成通常情况下,需要先生成一个运行版,然后同时运行编辑器中的游戏以及运行版,从而进行多人游戏的调试,如果要同时调试服务器和客户端,就没办法了,因为无法同时开启同一个项目的两个编辑器实例,让它们一个做服务器,另一个做客户端。
将项目完整复制一份,然后双双打开,可以,但太费事而,特别是需要修改时,得两边都修改。
那么,链接操作就可以起到大作用了。
Unity项目中最重要都三个文件夹是Assets、Packages、ProjectSettings。


三个最重要都文件夹

只要在当前项目之外新建一个目录,然后将这三个文件链接到新建立的目录中,就可以构造一个新的Unity项目,并且这个新项目与当前项目共享着相同的核心资源。最重要,这两个项目可以同时以编辑器模式打开,且可以分别调试。
灵活运用链接技术

了解链接技术的作用后,请根据需求灵活共享资源,没什么固定的模式,只要能达到共享资源、同步更新的目的即可。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-26 03:38 , Processed in 0.093124 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表