跳到主要内容

Sci-Fi Floor Pack: Conveyor
Unity

📌 概览

Sci-Fi Floor Pack: Conveyor 是用于快速构建地面型传送带模块化资产
它支持 Linear / Circular 两种运行模式,并检测触发器 Collider 内的 Rigidbody,按照脚本设置移动对象。

  • 模块化 Prefab
  • 传送带控制脚本
  • 专用着色器:橡胶/钢表面、传送带滚动、Side Flow Emission
  • 通过 UnityPackage 即时切换 URP/HDRP

🛒 购买方式

要在 Unity 项目中使用 Sci-Fi Floor Pack: Conveyor,请在下方商店购买。


🗂️ 文件夹结构与说明

  • SciFiFloorPack-Conveyor

    • 📁 _Upgrade:用于切换渲染管线(URP/HDRP)的包
      • SciFiFloorPack-Conveyor_URP.unitypackage
      • SciFiFloorPack-Conveyor_HDRP-12x.unitypackage (Unity 2021.3+)
      • SciFiFloorPack-Conveyor_HDRP-14x.unitypackage (Unity 2022.3+)
      • SciFiFloorPack-Conveyor_HDRP-16x.unitypackage (Unity 2023.2+)
      • SciFiFloorPack-Conveyor_HDRP-17x.unitypackage (Unity 6000.x)
    • 📁 Materials:传送带与地面用的材质
    • 📁 Meshes:3D 网格
    • 📁 Prefabs:可直接使用的模块化传送带 Prefab
    • 📁 Scenes:演示与概览场景
    • 📁 Scripts
      • 📁 Editor
        • MaxKillStudios_SciFiFloorPack-ConveyorShaderGUI:自定义 Shader GUI(无需用户操作)
      • 📁 Runtime
        • SFP_ConveyorBelt.cs:触发器检测与物理移动控制
    • 📁 Shaders:传送带着色器
    • 📁 Textures

包含的 Prefab

Modular conveyor prefabs overview

快速开始

  1. 将所需的 Prefab 放入场景。
    Place conveyor prefab in the scene

  2. 选择 Conveyor_MoveZone(该对象是 Prefab 的子对象)。
    Select Conveyor_MoveZone child object

  3. SFP_ConveyorBelt 组件中将 Speed 设置为所需值。
    Set Speed value in SFP_ConveyorBelt script component

    • 若要对所有 Prefab 实例应用相同更改,请使用 Overrides → Apply,或直接打开 Prefab 修改并保存。
  4. 为将在传送带上移动的对象添加 Rigidbody + Collider
    Add Rigidbody and Collider components to moving object

  5. 点击 Play 按钮运行场景。
    Press Play button to run the scene

  6. 可以看到对象沿着传送带移动。
    Object moving along the conveyor belt

  7. 应用所需的渲染管线(URP/HDRP)

注意

由于移动对象必须穿过触发器,因此 Conveyor_MoveZone 的 Collider 必须将 Is Trigger = On 设为开启。


SFP_ConveyorBelt 脚本

SFP ConveyorBelt script component in Inspector

持续对触发器内的 Rigidbody 应用速度向量。(基于 FixedUpdate)
Conveyor_MoveZone 的 Collider 必须将 Is Trigger = On 设为开启。

Conveyor Type

Conveyor Type settings - Shape and Speed options

项目说明
Shape选择 StraightRotational 类型
Speed移动速度及方向(负值将反转前进方向)

Straight(线性传送带)

项目说明
Straight Dir Local本地坐标系中的移动方向向量(例如 0,0,-1–Z)
Straight Lock Gain向传送带中心居中(吸附) 的强度。值越大,越强烈地对齐到中心

Rotational(环形传送带)

项目说明
Center作为旋转中心的 Transform
Inner Radius / Outer Radius应用移动的半径范围(内/外)
Clockwise顺时针切换
Radial Lock Gain向旋转路径中心居中的强度。值越大,越不易偏离路径

Conveyor Belt 着色器

控制传送带滚动Side Flow Emission
它与物理移动(SFP_ConveyorBelt 脚本)相互独立,因此可以为视觉效果单独调整速度。

基础纹理

Base texture properties - Albedo, Normal Map, and Mask Map settings

以下为基础纹理属性。
若将纹理按上下区域进行表达,可通过 Belt Surface Type 属性设置表面类型。

项目说明
Albedo用于指定 albedo 纹理的属性
Normal Map用于指定 normal map 的属性
Mask Map用于指定 mask map 的属性
- R: Metallic
- G: Occlusion
- A: Smoothness

Belt 设置

Belt settings - Surface Type and Scroll Speed controls

传送带部分的属性。

项目说明
Belt Surface Type切换 Rubber / Steel 表面
Belt Scroll Speed传送带表面的滚动速度。默认值为 0.5

Side Flow 设置

Side Flow settings - Emission color, pattern texture, and animation controls

Side Flow: 传送带侧边的自发光效果(装饰性光带)
用于增强科幻氛围。

项目说明
Side Flow Emission Color发光颜色(支持 HDR)
Side Flow Pattern Texture图案纹理(不需要大尺寸,例如 256×32)
Side Flow Pattern Index- 按上下四等分选择图案
- 顶部Pattern 1
Side Flow Pattern Tiling图案平铺
Side Flow Speed图案的流动速度(正/负值可反转方向)
提示

SFP_ConveyorBelt 脚本中的 Speed 与着色器的 Belt Scroll Speed / Side Flow Speed 彼此独立
若希望视觉上匹配,请相应调整两者的比例。


📖 URP/HDRP 升级

Upgrade folder location with pipeline packages

📁 _Upgrade 文件夹导入与项目渲染管线匹配的 UnityPackage,即可自动切换材质/场景设置/着色器

  • URP: SciFiFloorPack-Conveyor_URP.unitypackage
  • HDRP: SciFiFloorPack-Conveyor_HDRP-12x/14x/16x/17x.unitypackage

按 Unity 版本对应的 HDRP 版本

  • Unity 2021.3+ → HDRP 12.x

  • Unity 2022.3+ → HDRP 14.x

  • Unity 2023.2+ → HDRP 16.x

  • Unity 2023.3, 6000.x → HDRP 17.x

    请在项目的 Package Manager 中检查确切版本。
    HDRP version check in Unity Package Manager


FAQ

Q1. 对象会在传送带上停住。
A. 请确保 Conveyor_MoveZone 的 Collider 启用了 Is Trigger,并确认移动对象上有 Rigidbody

Q2. 在环形类型中,对象会被向外推。
A. 提高 Radial Lock Gain,或调整 Inner/Outer Radius。同时确认 Center 的引用是否正确。

Q3. 纹理滚动速度看起来与对象的实际移动速度不同。
A. 着色器滚动用于视觉效果,脚本速度用于物理——二者相互独立。必要时请匹配其数值。