Interactive Flow (VR Controls extension)

GodeffroyValet - 2021/09/13
尚未评分

Propagate signals at runtime along cables or anything else, triggering dynamic changes along the way, such as switching lights, openning doors, changing object materials, etc.

  • 支持的平台
  • 支持的引擎版本
    4.27
  • 下载类型
    引擎插件
    此产品包含一款代码插件,含有预编译的二进制文件以及与虚幻引擎集成的所有源代码,能够安装到您选择的引擎版本中,并根据每个项目的需求启动。

Requires the VR Controls plugins !


Demo video

Tutorial


Propagate signals at runtime automatically and interactively. The plugin ships some signal emitters, recievers, and transmitters, but you can of course customize them or create your own.


Emitters could be buttons, terminals, pressure plates, events, etc. The plugin provides the following as examples :

  • A lever with 3 positions (top, bottom, middle) and two output plugs (top, bottom). This lever is VR compatible in several ways. First, it supports physics, so you can push it, grab it, throw physics object at it, etc. Then, it implements the InteractableInterface (from VR Controls), so it can be switched at a distance by pointing at it and pressing the trigger (VR motion controller), or clicking (mouse). The output plugs send signal 1 when the lever is switched toward them, else 0.


Receivers could be traps, machines, doors, etc. The plugin provides the following as examples :

  • A door which opens when its input plug receives 1 and shuts when it receives 0.
  • A light which lits up when its input plug receives 1 and shuts when it receives 0.


Transmitters could be wires, pipes, wireless, etc. The plugin provides the following as examples :

  • A first cable propagates the signal instantly from its input plug to its output plug. You can plug, unplug and move it at runtime. Signals are updated accordingly and propagated to all signal actors down the line. The plugs also change material when entering or leaving focus, such as when you are approaching another plug that can connect to it. Both plugs implement the InteractableInterface (from VR Controls), so they can be plugged/unplugged at a distance by pointing at them and pressing the trigger (VR motion controller), or clicking (mouse). They also support physics, so you can grab and move them around.
  • A second cable is the same except it propagates signals with a delay and lights up progressively from its input plug toward its output plug.
  • A signal multiplexer with one input plug and an output plug which can be connected to multiple outputs.

技术细节

Features (BP=Blueprint, BPC=Blueprint Component):

- The SignalActor class (C++) is the base class of all Actors that can propagate a signal. The following derived classes are provided :

  • BP_SignalCable
  • BP_SignalCableDelayed
  • BP_SignalEmitter_Lever
  • BP_SignalReceiver_Door
  • BP_SignalReceiver_WallLight
  • BP_SignalMultiplexer

- The SignalPlugComponent (C++) is used to connect signal actors together. The following derived classes are provided :

  • BPC_InteractablePlug{In/Out}


Code Modules:

  •  InteractiveFlow (Runtime)


Number of Blueprints: 8

Number of C++ Classes: 2

Network Replicated: Not tested

Supported Development Platforms: Windows 10 (Should also work for other platforms)

Supported Target Build Platforms: Windows 10 (Should also work for other platforms)

Tested Hardware: Valve Index, Mouse/Keyboard (Should also work with other hardware)

Documentation: See the tutorial above for basic usage. Open the blueprints for customization.


Example Project: Coming soon.


Important/Additional Notes: This plugin works out of the box if you have the VR Controls plugin. If you don't have the VR Controls plugin, you will need additional work to link your own events and/or C++ code to this plugin.