Unity Asset Store 一些插件的介绍

注意
本文最后更新于 2023-07-30,文中内容可能已过时。

插件这东西并不是越多越好, 还是符合自己的需求最好。

  • 🈚 免费
  • 🈶 要钱
  • 📖 开源

主要内容

代码工具类

日志插件: 🈚📖 Unity File Debug

log viwer

简介:

这个插件可以记录 console log 到文件里面, 文件类型可以是 csv, json, txt 。
插件提供一个 DebugWrapper的类,所以使用的时候 不需要修改旧的代码。
就是这个类缺了函数LogWarningFormat 自己手动添加一下即可。

此外,插件还提供一个日志查看使用的html文件, 图示就是那个html 文件。
如果是开发手游的话, 在调试的时候就可以把生成的日志文件复制到电脑里面, 然后用这个html 文件进行查看。

使用方法: 安装插件之后, 拖拽一个 Prefab 到场景里面, 设置一下输出日志的文件名就可以了。
日志的默认输出目录是 Application.persistentDataPath

工具: 🈚📖 UniRx - Reactive Extensions for Unity

xx

简介:

这个应该是一个unity的响应式拓展, 下面放出一些 作者在Github 上的示例 。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
var clickStream = Observable.EveryUpdate()
    .Where(_ => Input.GetMouseButtonDown(0));

clickStream.Buffer(clickStream.Throttle(TimeSpan.FromMilliseconds(250)))
    .Where(xs => xs.Count >= 2)
    .Subscribe(xs => Debug.Log("DoubleClick Detected! Count:" + xs.Count));

// Another example
public static IObservable<float> ToObservable(this UnityEngine.AsyncOperation asyncOperation)
{
    if (asyncOperation == null) throw new ArgumentNullException("asyncOperation");

    return Observable.FromCoroutine<float>((observer, cancellationToken) => RunAsyncOperation(asyncOperation, observer, cancellationToken));
}

static IEnumerator RunAsyncOperation(UnityEngine.AsyncOperation asyncOperation, IObserver<float> observer, CancellationToken cancellationToken)
{
    while (!asyncOperation.isDone && !cancellationToken.IsCancellationRequested)
    {
        observer.OnNext(asyncOperation.progress);
        yield return null;
    }
    if (!cancellationToken.IsCancellationRequested)
    {
        observer.OnNext(asyncOperation.progress); // push 100%
        observer.OnCompleted();
    }
}

// usecase
Application.LoadLevelAsync("testscene")
    .ToObservable()
    .Do(x => Debug.Log(x)) // output progress
    .Last() // last sequence is load completed
    .Subscribe();


// MessageBroker is Rx based in-memory pubsub system filtered by type.
public class TestArgs
{
    public int Value { get; set; }
}

---

// Subscribe message on global-scope.
MessageBroker.Default.Receive<TestArgs>().Subscribe(x => UnityEngine.Debug.Log(x));

// Publish message
MessageBroker.Default.Publish(new TestArgs { Value = 1000 });

笔者用的比较简单, 主要用于同步事件。

工具: 🈚📖 Query for Unity

image

简介:

代码工具。

节点编辑器基础: 🈚📖 xNode

image

简介:

这个也是可视化编辑工具。
从Github 上获取不要钱, 但是从 asset store 上获取则需要10刀。

xNode is a very powerful and intuitive node editor framework ideal for coding your own dialogue systems, state machines, procedural generation, behaviour trees etc.

笔者使用这个工具来做 行为树。 笔者使用的是老版本, 当节点到达 500+ 的时候, 编辑节点就会感觉到卡顿, 不知道最新版有没有变化。

代替品考虑:

Inspector工具: 🈚📖 NaughtyAttributes

1
2
3
4
5
6
7
8
public class NaughtyComponent : MonoBehaviour
{
	[Button]
	private void MethodOne() { }

	[Button("Button Text")]
	private void MethodTwo() { }
}

image

简介:

NaughtyAttributes is an extension for the Unity Inspector.

给组件添加一些注解之后, Inspector 上的渲染方式会发生改变。

json && bson: 🈚 JSON .NET For Unity

简介:

JSON .NET brings the power of Json and Bson serialization to Unity with support for 4.7.2 and up and is compatible with both .NET and IL2CPP backends.

这个好像是 Newtonsoft.Json
没什么好说的, 就是json 和bson 的序列化和反序列化工具。

3D 模型相关

动画编辑工具: 🈶 UMotion Pro - Animation Editor

image

简介:

可以在unity 里面查看,编辑, 创建 动画AnimationClip的一个工具。
也许在 blender里面修改 更简单,而且还不要钱? 笔者不会blender 所以不太清楚。。

过渡动画工具: 🈶 DOTween Pro

image

简介:

动画过渡工具。 在线文档: http://dotween.demigiant.com/documentation.php

  • 位置过渡动画
  • 旋转过渡动画
  • 值过渡

每个过渡还有一些事件可以使用

  • onKill
  • onComplete

待验证

0%