Unity VRTK4包导入和依赖关系

✅ Part 1:VRTK4(Tilia + Zinnia)完整相关包清单

项目里属于 VRTK4 生态 的包主要由三部分组成:
Tilia(功能模块) + Zinnia(底层框架) + Utilities(支撑工具)

这些全部以 io.extendreality.* 命名。

如果加载失败, Tilia Importer 脚本的限制

报错信息指向了 PackageImporter.cs:298。Tilia 的插件通常使用一个自定义的 PackageImporter 脚本通过 UnityWebRequest 下载包。

绕过验证的修改方法(最直接): 如果你急于使用,可以直接修改报错的脚本,强行跳过 SSL 验证(仅建议在开发环境使用):

  1. 打开 Assets/VRTK.Tilia.Package.Importer/Editor/PackageImporter.cs
  2. 找到 GetWebRequest 方法。

在发送请求前添加一行代码:

  1. C#
csharp 复制代码
// 在 webRequest.SendWebRequest() 之前添加
webRequest.certificateHandler = new BypassCertificate();

在该文件末尾定义这个类:

  1. C#
csharp 复制代码
public class BypassCertificate : UnityEngine.Networking.CertificateHandler {
    protected override bool ValidateCertificate(byte[] certificateData) => true;
}

📌 VRTK4 / Tilia(Extend Reality)相关包

类别 包名 版本 功能
Camera Rig io.extendreality.tilia.camerarigs.trackedalias.unity 2.5.5 玩家 Rig/追踪抽象层
Input io.extendreality.tilia.input.unityinputmanager 2.1.15 旧 Input Manager
Input io.extendreality.tilia.input.unityinputsystem 2.4.11 新 Input System
Input io.extendreality.tilia.input.combinedactions.unity 2.0.23 跨输入源统一 Actions
Pointer io.extendreality.tilia.indicators.objectpointers.unity 2.2.16 激光/曲线指针
Interaction io.extendreality.tilia.interactions.pointerinteractors.unity 2.3.26 指针交互桥梁
Locomotion io.extendreality.tilia.locomotors.axismove.unity 2.1.12 Smooth 移动
Locomotion io.extendreality.tilia.locomotors.teleporter.unity 2.2.4 Teleport 传送
Mutator io.extendreality.tilia.mutators.objectfollower.unity 2.0.22 物体跟随
SDK io.extendreality.tilia.sdk.steamvr.unity 2.2.10 SteamVR SDK适配

1) 【核心底座】Zinnia(VRTK4 基础框架)

io.extendreality.zinnia.unity (2.16.2)

📌 作用: VRTK4 的核心基础库(事件、数据结构、抽象层、规则系统等)

📌 重要性: 你所有 Tilia 功能模块都依赖它(几乎是必选底座)


2) 【VRTK4 功能模块】Tilia 系列(你项目实际使用的功能)

以下是你项目直接安装 / 引入的 Tilia 模块(depth 0):

A. 玩家 Rig / Tracked Alias

  • io.extendreality.tilia.camerarigs.trackedalias.unity (2.5.5)
    • 依赖: Zinnia
    • 用途: 建立 VR 玩家 rig + "TrackedAlias" 抽象层

B. 输入系统 Input(旧+新+统一动作映射)

  • io.extendreality.tilia.input.unityinputmanager (2.1.15)
    • 旧 Input Manager 支持,依赖 Zinnia
  • io.extendreality.tilia.input.unityinputsystem (2.4.11)
    • 新 Input System 支持,依赖 Zinnia + com.unity.inputsystem (锁定 1.5.0)
  • io.extendreality.tilia.input.combinedactions.unity (2.0.23)
    • 把多个输入源统一成 actions,依赖 Zinnia

C. 指针 / Indicator

  • io.extendreality.tilia.indicators.objectpointers.unity (2.2.16)
    • 依赖: Zinnia + Shaders Utilities + ObjectFollower

D. Pointer Interactor(指针交互桥梁)

  • io.extendreality.tilia.interactions.pointerinteractors.unity (2.3.26)
    • 依赖:
      • Zinnia
      • Shaders Utilities
      • ObjectPointers
      • Interactables(注意:Interactables depth=1,是间接依赖)

E. Interactables(可交互对象)

  • io.extendreality.tilia.interactions.interactables.unity (2.18.1)
    • depth=1(说明你项目中没有直接引用它,但它被 PointerInteractor 引入)
    • 用途: "可交互对象"系统的核心库(抓取/触碰/选择等)

F. Locomotion(移动)

  • io.extendreality.tilia.locomotors.axismove.unity (2.1.12)
    • 依赖: Zinnia + Shaders + CombinedActions
  • io.extendreality.tilia.locomotors.teleporter.unity (2.2.4)
    • 依赖: Zinnia + Shaders

G. Mutators(跟随/变换)

  • io.extendreality.tilia.mutators.objectfollower.unity (2.0.22)
    • 依赖: Zinnia
    • 用途: 物体跟随目标(UI面板、附着物等)

H. SDK 适配(SteamVR SDK)

  • io.extendreality.tilia.sdk.steamvr.unity (2.2.10)
    • 依赖: Zinnia
    • 用途: 将 Tilia/VRTK4 统一接入 SteamVR SDK

3) 【VRTK4 工具包】Utilities

io.extendreality.tilia.utilities.shaders.unity (1.4.0) (depth=1)

📌 用途:

  • 指针/Teleport/交互系统的 shader 支撑(轨迹、光束、可视化效果)
    📌 被多个模块依赖:ObjectPointers、PointerInteractors、AxisMove、Teleporter

4) 【"嵌入式"Tilia 包:UnityUI】

io.extendreality.tilia.unityui (embedded, file:Tilia.UnityUI-master)

📌 这是本地嵌入包 ,不是从 registry 拉的

📌 它还依赖一套较旧版本(Zinnia 2.0.0 / PointerInteractors 2.0.5 等)

这意味着:在项目里可能存在 "版本并存 / 冲突风险",需要留意!

  • UnityUI 是 VRTK4 对 Unity UGUI / UI 交互的集成层
  • embedded 方式引用,版本可能落后于主依赖链

✅ Part 2:SteamVR / OpenVR 开发套件相关包清单


1) Valve OpenVR(SteamVR Unity XR Package)

com.valvesoftware.unity.openvr (local tarball tgz, 1.1.4)

📌 引用路径:
../Assets/SteamVR/OpenVRUnityXRPackage/Editor/com.valvesoftware.unity.openvr-1.1.4.tgz

📌 作用:

  • Valve 官方的 OpenVR XR Package(SteamVR 的底层 Unity XR 包)
  • 提供 OpenVR runtime 接入能力(通常用于 SteamVR / Vive / Index)

📌 关键依赖:

  • com.unity.xr.management (3.2.13)(注意:这里锁定了一个旧版本)
  • com.unity.xr.legacyinputhelpers (2.1.4)
  • com.unity.ugui (1.0.0)

2) Unity XR 通用管理框架(SteamVR/OpenVR 会依赖)

com.unity.xr.management

  • 项目里出现了两条不同版本:
    • registry: 4.4.0(depth=1)
    • OpenVR依赖: 3.2.13 (local openvr 的依赖)
      ⚠️ 这里也存在潜在的版本兼容问题。

com.unity.xr.legacyinputhelpers

  • registry: 2.1.10(depth=1)
  • OpenVR依赖: 2.1.4
    同样存在版本并存风险。

✅ Part 3:最终总结


✅ VRTK4(Tilia + Zinnia)相关包

核心底座

  • io.extendreality.zinnia.unity (2.16.2)

功能模块 Tilia

  • io.extendreality.tilia.camerarigs.trackedalias.unity (2.5.5)
  • io.extendreality.tilia.input.unityinputmanager (2.1.15)
  • io.extendreality.tilia.input.unityinputsystem (2.4.11)
  • io.extendreality.tilia.input.combinedactions.unity (2.0.23)
  • io.extendreality.tilia.indicators.objectpointers.unity (2.2.16)
  • io.extendreality.tilia.interactions.pointerinteractors.unity (2.3.26)
  • io.extendreality.tilia.interactions.interactables.unity (2.18.1) (间接依赖)
  • io.extendreality.tilia.locomotors.axismove.unity (2.1.12)
  • io.extendreality.tilia.locomotors.teleporter.unity (2.2.4)
  • io.extendreality.tilia.mutators.objectfollower.unity (2.0.22)
  • io.extendreality.tilia.sdk.steamvr.unity (2.2.10)

Utilities

  • io.extendreality.tilia.utilities.shaders.unity (1.4.0)

Embedded UI 集成

  • io.extendreality.tilia.unityui (embedded local package)

✅ SteamVR / OpenVR 套件相关包

  • com.valvesoftware.unity.openvr (1.1.4, local tgz)
  • com.unity.xr.management (3.2.13 / 4.4.0) (注意版本并存)
  • com.unity.xr.legacyinputhelpers (2.1.4 / 2.1.10) (注意版本并存)
  • com.unity.inputsystem (1.5.0 由 Tilia 强制依赖)

相关推荐
WiChP2 小时前
【V0.1B7】从零开始的2D游戏引擎开发之路
游戏引擎
Sparkle Star5 小时前
Unity VRTK4+SteamVR传送组件使用和层级关系
unity·游戏引擎
cheniie5 小时前
Windows下Unity开发VisionPro应用
windows·unity·vision pro
伽蓝_游戏6 小时前
UGUI源码剖析 (24):常用插件扩展介绍
ui·unity·c#·游戏引擎·游戏程序
空中海16 小时前
第二篇:Unity中级阶段(核心开发能力)
unity·游戏引擎
DaLiangChen1 天前
Unity 实用工具:动态绘制物体边界包围盒(支持屏幕固定线宽)
unity·游戏引擎
张老师带你学1 天前
Unity 食物 农产品相关
科技·游戏·unity·游戏引擎·模型
mxwin1 天前
Unity Custom Interpolators与半透明阴影的原理与实战
unity·游戏引擎·shader
晴夏。1 天前
UE5第三人称模板实现及相关引擎源码分析
unity·ue5·游戏引擎·ue