Useful C++/Blueprints Library for Unreal Engine 5
Supproted version 5.5
[MetaPlayer]
MetaPlayer is a plugin based on WMF Player that plays multiple videos in sync. Since Unreal cannot play videos with a resolution exceeding about 8K, it is designed to split the video into several pieces and import them into Unreal so that the videos can be played in sync.
[MetaToolkit]
This plugin aims to create several tools that allow you to easily change various settings.
[MetaVFX]
MetaVFX is designed to provide easy access to a wide range of effects that can be used in media art.
- Place the plugin you want to use in the Plugins folder (if it does not exist Plugins folder, create Plugins folder) inside the Unreal project folder.
2-1. When using in Blueprint, run the project and check the plugin.
2-2. When used in C++ code, add the plug-in name to DependencyModuleNames in the project's build.cs, and then build and run the project.
- MultiMediaSyncPlayer
- Insert desired video into the file media source.
- Check if the video loops.
- After you prepare the video, you can play it whenever you want or play it immediately. (Caution: There will be a delay if you play it right away without any preparation.)
- Display 2-1. UI
- Create a blueprint that inherits DisplayWidget.
- Place a panel widget that inherits the UPanelWidget(ex. GridPanel, HorizontalBox...) and rename to DisplayPanel.
- Create as many images as the number of file media sources entered in MultiMediaSyncPlayer as children of the DisplayPanel.
- Create widget and add to viewport.
- Outputting video using the SetMediaTexturesDisplayMaterials function. (Note: MultiMediaSyncPlayer must be ready or playing)
2-2. 3D Actor
- Placing a DisplayActor into the world.
- Create a plane component as a child of ArrowComponent equal to the number of file media sources entered in MultiMediaSyncPlayer.
- Set each plane to the desired position and size.
-
MTKWidget
- The MTKWidget is a widget that inherits Usetwidget and displays the mouse cursor based on the Unreal viewport position.
- To fit the mouse cursor position to the viewport, you can inherit MTKWidget and use it.
-
MetaGraphicsSettingsComponent
- Add MetaGraphicsSettingsComponent to Player Controller.
- To show it, call ShowGraphicsSettingsUI on the component, to hide it, call HideGraphicsSettingsUI.
- Play the game and configure the settings after displaying the UI.
- You must click the 'Apply' button to save the converted settings.
- MetaMagicTrail
- Add MetaMagicTrailManager to playercontroller.
- Bind events to turn the UI on/off
- Masking can use video files and image files.
- Edit UI allows you to modify data even after a build.
- Settings
- Init Create Pool Num: Determines how many objects will be created when the game starts. Niagara system actors will be used for interactions based on the object pool.
- Particle Activation Threshold Sec: When an interaction is detected, a particle is generated after this amount of seconds.
- Reset Time: How often will all interactions be cleared every second. (to prevent sensor, internet, focusing issues, etc.)
- Use Mouse: Whether to allow mouse interaction.
- Use Ray: Whether to use Linetrace. (if false, create it directly at the screen position)
- Use Edit UI: Whether to use the UI. (if ture, use the saved values instead of the values set in the Editor)
- MetaFluidArt 2-1 MefaFluidArtManager
- Add FluidArtManager to playercontroller.
-
Bind events to turn the UI on/off
-
Place actors that can collide with the ray in appropriate locations.
-
Settings
- Interaction Scale: The size of the interacting sphere.
- Scale Increase Time: The time it takes for the interaction sphere to grow from 0 to the interaction scale.
- Scale Decrease Time: The time it takes for the interaction sphere to decrease to 0 on the interaction scale.
2-2. MetaFluidArtActorComponent
-
Add a MetaFluidArtActorComponent to the activity you want to place in the world.
-
Settings
- Using Force can accentuate rendering alignment issues caused by overlapping particles, but the basic fluid motion is more natural. ※ The noise category applies when Force is not used.
- Collider Visible: Visibility of the collider causing the noise.
- Duration: The time during which noise.
- Collider Num: Number of colliders.
- Noise Collider Scale: The size of the collider that generates noise.
- Start Location Offset: The start location offset of the collider in the area.
- Noise Range: The area where noise occurs.
- Min Length: The minimum length the collider must move.
- Max Length: The maximum distance the collider can move.
- Num Cells Max Axis : Number of axes. (the higher the number, the more densely the particles are placed)
- Particle Per Cells: Number of particles per cell (the higher the number, the more particles there are, filling up empty space.)
- Pressure Iterations: The number of times the water pressure is calculated per second.
- Sprite Scale: The size of the particle.
- Texture: Base image
- Texture Change Delay: The time it takes for a particle to be created and a new particle to be recreated (previously created particles will soon be destroyed).
- UV Step: Adjust the UV values of the texture (to solve the problem of UV being slightly cut off depending on the value of Num Cells Max Axis)
- World Grid Extents : X - Depth // Y - Width // Z - Height (Set Y and Z to match the UV values of the texture)















