Git Product home page Git Product logo

volograms_unreal4_plugin's Introduction

Volograms Toolkit - Unreal 4 Plugin

This plugin lets you play volograms captured with the Volu mobile app in projects using Epic's Unreal 4 engine.

  • Current version: 0.7 (beta)
  • Built against Unreal version: 4.27

Volograms are animated 3D volumetric captures.

Contents and Features of the Plugin

  • Drag-and-drop VologramActor class Blueprint integration for use in the Editor.
  • VologramMaterial class for the video texture (used automatically by the Actor class).
  • C++ access to key functionality from the Volograms SDK if you prefer to customise your own vologram player.
  • Unreal users can load and play a vologram without writing any code.

Operating Systems Supported

  • Only 64-bit Windows systems are supported currently.
  • macOS and iOS are work-in-progress.
  • Android is planned for a future version.

How Do I Get Set Up?

These instructions assume you have a volumetric capture on your computer, that you have exported from the Volu app. If you have not used Unreal Engine before, we suggest you follow the Unreal C++ set-up tutorial with Visual Studio integration, and familiarise yourself with the tools for creating a simple scene.

image

Your exported vologram, unzipped, will have an unique name - mine is called 1625472326152_ld, and contains the above header, sequence, and video texture files. We will use this plugin to load and play these files from your volograms.

  • This plugin comes as source code - you'll need Unreal set up with Visual Studio to include this plugin in your projects.
  • If you don't have an existing Unreal project then create a new game project.
  • Download this plugin from the Releases page, and unzip into your <Your Game Folder>/Plugins/ directory.
    • If this is your first plugin in your game you may have to create the Plugins/ directory.

image

I have created a new game project called unreal4july, and created the Plugins/ subdirectory in the same directory as the game's .uproject file.

image

The Volograms plugin is extracted into its own folder, under the Plugins sub-directory.

  • Relaunch your game project in the Unreal Editor, and in the Plugins menu in Unreal Editor check that the Volograms plugin is enabled.
  • In the Place Actors panel in the top-left, search for volograms.

image

  • Drag the Vologram Actor into your 3D scene.
  • In the side context panel that appears when your vologram is selected:
    • Ensure that VologramMaterial is selected in the Material drop-down.
    • Set the paths to the vologram header .vols file,
    • the sequence .vols file,
    • and the video texture file.

image

In the Vologram Actor panel I have made sure the Material field is set to VologramMaterial, and set the 3 "VOL" file paths to a vologram on my computer.

  • Hit play to preview your vologram in Unreal.

The end product should display like this.

Troubleshooting

  • "My vologram is extremely blurry!" - Your camera is probably pointing at the rear of the vologram, which is reconstructed and can look blurry. You can rotate the vologram around 180 degrees, or move the camera to the other side.
  • "My vologram is a little blurry!" - Default Unreal scenes can use quite a lot of post processing. You can try changing the anti-aliasing method in your Project settings, or tweaking any Post Processing Volume settings in your scene.
  • "The following modules are missing or built with a different engine version." - This message box can appear for several reasons.
    1. Visual Studio isn't linked to Unreal - you can confirm it works by creating a new C++ game project that includes a class to compile.
    2. The version of Unreal differs signficantly from the version the plugin was built against. This is not usually the case.
    3. Within the volograms plugin in your game, try deleting the Intermediate/ and Binaries/ subdirectories to force a rebuild of the plugin. This can occur when copying a built plugin folder from one game project to another.

Packaging Your Project

  • Double-check in the VologramActor that the paths to your vologram files will be the correct relative or absolute paths when packaged.
  • Because the package will include the Volograms plugin, Unreal requires you to compile your project.
    • If you have a Blueprint project you will need to convert it to C++ first. You can do this by creating a new, blank, C++ file, which will generate a Visual Studio project that you can compile from.

Adding Audio to the Vologram

  • If you have an audio file i.e. a .wav, you can drag this into your Unreal Editor content panel to use as an audio source.
  • (Optional) Edit your audio source properties to add a 3D attenuation so that the volume decreases as the camera moves away from the vologram.
  • Edit your VologramActor blueprint Event Graph, and attach a Play Sound at Location node to the BeginPlay event. Choose your audio source in the drop-down menu.

Adding our audio source to play to the BeginPlay event.

If you have audio in your vologram's texture video file, it is possible to play this with your vologram.

  • Create a MediaPlayer and file MediaSource, pointing to your video file, in your content tree.
  • Add a MediaPlayer component to your Vologram actor instance, linked to your MediaPlayer.
  • Similarly to the above method for sound sources, instead launch an Open Source event linked to a MediaPlayer variable.
  • Double check your MediaPlayer has the 'play on open' flag checked.

image

Known Issues

  • Older Volograms may have inconsistent orientation and scale, and earlier versions will be missing normals. If you need to load these let us know.
  • There is no built-in demo or functions for seek/rewind/loop yet. We are happy to take feature requests based on early-adopter testing.

Unity and OpenGL/DirectX Support

  • See Volograms on GitHub for an equivalent Unity plugin. You will also find command-line tools, and the libraries used in these plugins, which can be used to build custom players, with success in OpenGL and web assembly.

Licence

Copyright 2022, Volograms.

  • Source code included in this plugin is provided under the terms of the MIT licence (see the LICENSE file for details).
  • Other terms apply to third-party code found in the Source/volograms/ThirdParty sub-directory:

Dependencies

  • This software uses unaltered code of FFmpeg licensed under the LGPLv2.1 and its source code can be found at FFmpeg.

See the Source/volograms/ThirdParty/ffmpeg/LICENSE.md file for details.

  • The LGPL build of Windows FFmpeg included in this repository uses the binary of the H264 codec openh264 from Cisco, which has the BSD-2-Clause Licence.

Copyright (c) 2013, Cisco Systems All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

volograms_unreal4_plugin's People

Contributors

capnramses avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

volograms_unreal4_plugin's Issues

add instructions step with image - place volgoram /in front/ of camera

  • add troubleshooting section
  • "if image looks bad - example - tits probably looking from the rear side of the capture. rotate around or make sure it starts in front of the game's camera
    image-camera
    "
  • note i have screenshots of this issue in volograms\captures\1639131219916_ld_wil_buggy but won't upload anywhere without permission

android support

  • library build
  • testing
  • may pull in any packaging issues needing streamlining or instructions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.