跳到主要内容
[DOC]0xB3E7A1F9
LOADED
SYS_TIME:

Sci-Fi Floor Pack: Conveyor
Unity

[VIEWPORT]
LIVE
Sci-Fi Floor Pack Conveyor screenshot 1

概览

Sci-Fi Floor Pack: Conveyor 是适用于 Unity 的模块化传送带地面资源。根据移动方向支持 Straight 和 Rotational 两种模式,通过检测触发器 Collider 内的 Rigidbody,按脚本设置移动对象。

  • 支持吸附放置的模块化预制件
  • 传送带控制脚本(SFP_ConveyorBelt
  • 专用着色器:橡胶/钢表面、传送带滚动、Side Flow Emission
  • 通过附带的 UnityPackage 支持 Built-in RP、URP 和 HDRP

购买方式

可在 Unity Asset Store 购买。


文件夹结构与说明

  • 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:可直接使用的模块化传送带预制件
    • Scenes:演示与概览场景
    • Scripts
      • Editor
        • MaxKillStudios_SciFiFloorPack-ConveyorShaderGUI:自定义 Shader GUI(无需用户操作)
      • Runtime
        • SFP_ConveyorBelt.cs:触发器检测与物理移动控制
    • Shaders:传送带着色器
    • Textures

包含的预制件

Modular conveyor prefabs overview

快速开始

  1. 将所需预制件放入场景。 Place conveyor prefab in the scene
  2. 选择 Conveyor_MoveZone(预制件的子对象)。 Select Conveyor_MoveZone child object
  3. SFP_ConveyorBelt 组件中将 Speed 设置为所需值。 Set Speed value in SFP_ConveyorBelt script component
TIP应用到所有实例

若要对所有预制件实例应用相同更改,请使用 Overrides → Apply,或直接打开预制件修改并保存。

  1. 为将在传送带上移动的对象添加 Rigidbody + ColliderAdd Rigidbody and Collider components to moving object
  2. 点击 Play 按钮运行场景。
    Press Play button to run the scene
  3. 对象沿传送带移动。 Object moving along the conveyor belt
  4. 应用所需的渲染管线(URP/HDRP)
WARNING必须启用 Is Trigger

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


SFP_ConveyorBelt 脚本

SFP ConveyorBelt script component in Inspector

NOTE工作原理

持续对触发器内的 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 着色器

NOTE着色器概览

控制传送带滚动Side Flow Emission。 与物理移动(SFP_ConveyorBelt 脚本)相互独立,视觉速度需单独调整。

基础纹理

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

NOTE基础纹理

基础纹理属性。若纹理分为上下两个区域,可通过 Belt Surface Type 属性切换。

项目说明
AlbedoAlbedo 纹理
Normal 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

NOTESide 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图案的流动速度(正/负值可反转方向)
TIP脚本与着色器速度

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


URP/HDRP Upgrade

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. 着色器滚动控制视觉效果,脚本速度控制物理运动,两者独立。如需一致,请手动匹配数值。

更新日志

版本历史和更新记录请参阅更新日志