Unity2018 Packages + npm 自定义包管理大揭秘!

简介

Unity2018新增的功能 “包管理器”,相信很多文章都已经转载介绍过了。但是怎么看,里面就是一堆原本在AssetStore里的官方工具包。难道官方为了照顾中国开发者的网络,特地做个简化的AssetStore面板吗?仔细调研了一番,发现这其实是一个“巨大巨大超级超级给力的更新”。众所周知,用 node、python 等进行开发,就免不了 brew, npm, pip 一下。这些语言崛起的非常关键的一个原因,就是包的生产和维护。unity也要这样,使项目和模块分离,单独维护。

本文就不在赘述菜单面板和那些官方资源了,直接从如何通过修改配置文件,自定义本地包远程包两方面介绍流程。提及一些官方文档暂未公布的功能,及实际使用时注意的地方。

一、引用本地包

步骤

  1. 创建一个空项目,启动。

Project面板默认已经包含着这些包。
Project

\Packages\manifest.json 中有更多。
manifest

  1. 在Assets中新建一个我们自己的包,如 com.setsuodu.mynpm

再添加一个脚本文件,NPM.cs。

namespace SetsuOdu
{
    public static class NPM
    {
        public const string myblog = "https://blog.csdn.net/mseol";
    }
}

添加一个 package.json 备用。

{
  "name": "com.setsuodu.mynpm",
  "version": "0.1.0",
  "description": "a test npm package",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "setsuodu",
  "license": "MIT",
  "keywords": [
    "unity3d",
    "unity3d-npm"
  ]
}
  1. 让以上创建的文件在unity中自动编译一下,生成 .meta 文件。完成后把整个包剪切到项目根目录。如图:
    剪切
  2. 编辑 \Packages\manifest.json ,修改后如下:
{
  "dependencies": {
    "com.unity.ads": "2.0.8",
    "com.setsuodu.mynpm": "file:../com.setsuodu.mynpm"
  }
}
  1. 切换回unity,经过一个读条,包已引入。
    完成本地引入

二、引用远程包

完成上一步以后,可以理解包的引用是在 dependencies{} 中按照 "包名": "路径" 的格式设置的。那么可以把路径 file:/ 改成 http:// ,引用自己上传到网络上的资源吗?

答案是肯定的,但是有所限制。对 manifest.json 做以下修改。

{
  "dependencies": {
    "com.unity.ads": "2.0.8",
    "com.setsuodu.mynpm": "0.1.0"
  },
  "registry": "http://"
}

目前已知支持对这些地址的引用。
https://packages.unity.com(不填时默认)
http://localhost
https://www.npmjs.com

步骤

  1. 安装nodejs(已安装则跳过)
  2. 安装verdaccio
$ npm install -g verdaccio

完成后找到目录 C:\Users\Administrator\AppData\Roaming\verdaccio\storage ,把自己的包放到该目录下。

  1. 注册npm账号,登录
$ npm login
> Logged in as setsuodu on http://localhost:4873/.
  1. 启动verdaccio
$ verdaccio
> warn ...
> ... http://localhost:4873/ - verdaccio/3.8.2
  1. 发布自己的包
// cd到包目录
$ cd C:\Users\Administrator\AppData\Roaming\verdaccio\storage\com.setsuodu.mynpm
$ npm publish

发布成功后到官网账户下,查看 Packages。如图,已经可以使用 $ npm i com.setsuodu.mynpm 远程下载自己的包了。
发布成功

  1. 在unity中引用外网的包。再次编辑 \Packages\manifest.json ,修改后如下:
{
  "dependencies": {
    "com.unity.ads": "2.0.8",
    "com.setsuodu.mynpm": "0.1.3"
  },
  "registry": "https://registry.npmjs.org"
}

切换回Unity,经过短暂下载和编译,就可以使用了。

using UnityEngine;
using SetsuOdu;

public class HowToUse : MonoBehaviour
{
    void Start()
    {
        Debug.Log(NPM.myblog);
    }
}

调用com.setsuodu.mynpm包中的方法,打印成功。
在这里插入图片描述

参考文献

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
Unity2018官方标准资源Unity官方提供的一套含各种高质量资源的资源。它含了3D模型、动画、材质、纹理、粒子效果、音频等各种资源,可以在游戏开发过程中使用。 首先,Unity2018官方标准资源提供了大量的3D模型,这些模型可以用于创建场景中的角色、道具、环境等。模型都经过精心设计和优化,质量较高,有助于提升游戏的视觉效果。 其次,官方资源中还含了各种动画资源,括角色的动作、场景的特效等。这些动画资源可以直接在游戏中使用,也可以作为学习和参考的素材,帮助开发者提升动画技能。 此外,官方资源中还提供了各种材质和纹理资源,可以用于创建游戏中的各种物体和表面效果。这些资源经过优化和品质保证,可以节省开发者的时间和精力。 另外,标准资源含了一系列的粒子效果,可以用于制作游戏中的特殊效果,诸如爆炸、火焰、雨等。这些效果可以增添游戏的动感和实时感,提高游戏的乐趣度。 最后,官方资源还提供了一些音频资源,括背景音乐、音效等。这些音频资源可以帮助开发者为游戏增加音乐和声效,提升游戏的音频体验。 总之,Unity2018官方标准资源是一套丰富多样的资源集合,可以帮助开发者快速创建高质量的游戏,提升游戏的视觉和音频效果,减少开发周期和成本。无论是新手还是经验丰富的开发者,在游戏开发过程中都可以从中受益。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值