Code Monkey home page Code Monkey logo

seurat-unreal-plugin's Introduction

Importing Seurat Meshes Into Unreal

Seurat is a scene simplification technology designed to process very complex 3D scenes into a representation that renders efficiently on mobile 6DoF VR systems.

This document covers how to import Seurat meshes into Unity. To learn more about the Seurat pipeline, visit the main Seurat GitHub page.

Introduction

This document describes the process to import the output of the Seurat pipeline (generated from any source capture) into Epic Games’ Unreal Engine. The document assumes some familiarity with the Unreal Engine, and is written against version 4.16.

Import Instructions

Follow these steps:

Setup

  1. Start the Unreal Editor.
  2. Create a new blank project, with no starter content.
  3. Locate the Content Browser panel, typically at the bottom of the Editor main window.
  4. Locate the folder containing the Seurat output .OBJ, .EXR files. Give them separate file names, as Unreal requires unique names for each asset.
  5. Disable some rendering settings that interfere with Seurat rendering:
  6. Edit | Project Settings
  7. Locate the Translucency group
  8. Disable Separate Translucency
  9. Locate the Default Settings group
  10. Disable Bloom, Ambient Occlusion, and Auto Exposure
  11. Prepare Light Source for Unlit
  12. Locate the Light group
  13. Set Intensity to 8.0
  14. Disable Cast Shadows

Import the OBJ Model

  1. Click the Import button near the top left corner of the Content Browser panel.
  2. Navigate to the folder containing the Seurat .OBJ, .PNG, and .EXR file.
  3. Select the .OBJ file and the .EXR file (.PNG import has some artifacts).
  4. Click the Open button.
  5. The Editor displays a model import configuration dialog.
    Unreal import options
  6. Change the Import Rotation X axis to 90.0.
  7. If the Seurat capture was processed in meters, then change the Import Uniform Scale to 100.0 to scale the geometry to centimeters.
  8. Click the Show Advanced rollout in the Mesh options group.
  9. Disable Build Adjacency Buffer.
  10. Disable Generate Lightmap UVs.
  11. Click Import.
  12. The Editor will import the model and show an icon for it in the Content Browser.
  13. Double click the asset icon.
  14. The Editor will display the Model configuration editor.
  15. Locate the Details panel.
  16. Enable Use Full Precision UVs (to prevent crack artifacts).
  17. Locate the LOD0 options group.
  18. Expand the Build Settings subgroup.
  19. Check Use Full Precision UVs.
  20. Finally, place the Seurat mesh into the scene by clicking the imported asset icon in the Content Browser window and dragging it into the viewport.

Import the Texture

  1. Click the Import button near the top left corner of the Content Browser panel.
  2. Navigate to the folder containing the Seurat .OBJ, .PNG, and .EXR file.
  3. Select the .OBJ file and the .EXR file (.PNG import has some artifacts: 1,2,3).
  4. Click the Open button.
  5. The Editor will add the texture asset to the Content Browser panel.
  6. Double click the texture.
  7. The Editor will display the Texture editor in a new window.
  8. Locate the Details panel.
  9. If the input EXR is not HDR, change the compression type to RGBA or DXT1/5.

Create the Material

  1. Click the Add New button near the top left corner of the Content Browser panel.
  2. Click Material in the Create Basic Asset group.
  3. The Editor will add a material with the name NewMaterial in the Content Browser.
  4. Double-click NewMaterial to open it in the Material editor.
  5. Run the File | Save As... command and give the material a meaningful name, e.g. SeuratMesh.
  6. Click Save.
  7. Locate the Details panel.
  8. In the Material options group, change the Blend Mode to Translucent.
  9. Configure Shading Model to Unlit.
  10. In the material graph viewport, add a TextureSample node.
  11. Right click, open the Texture group, locate TextureSample and click it.
  12. Connect the RGB (white circle) output from the TextureSample node to the Emissive Color input in the SeuratMesh node.
  13. Connect the alpha (gray circle, near the bottom) output from the TextureSample node to the Opacity input in the SeuratMesh node.
  14. Save the material.

DISCLAIMER: This is not an officially supported Google product.

seurat-unreal-plugin's People

Contributors

davejrichardson avatar manfred-ernst avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

seurat-unreal-plugin's Issues

There is no Depth.exr like there is in the Unity 3D Seurat Capture

I noticed that there seemed to be very little mesh detail in my Unreal capture, and the lack of a Depth.exr as well. Using a EXR viewer, the alpha channel is white (as identified in the manifest.json). In the Unity capture output there is both a color.exr & depth.exr, with the depth.exr also having an RGB output.

capturefiles

Plugin Missing or incompatible

Hello,
I want to test Seurat.
I am using Unreal Engine 4.16.3. The plugin was develop against a 4.16 version.

I did the following steps:

  1. Downloading plugin
  2. Copying the "Plugins"-folder of the plugin in project-folder.
  3. Starting Unreal Engine and create an empty (blank) Blueprint-Project
  4. Enable Seurat plugin under Edit -> plugins -> Other -> Seurat,
  5. Restart the project.

Then I get following error:

"Missing or incompatible modules in Seurat plugin - would you like to disable it? You will no longer be able to open any assets created using it."

When clicking yes, following error occurs:

"Plugin "Seurat" failed to load because module "Seurat" could not be found. Please ensure the plugin is properly installed, otherwise consider disabling the plugin for this project."

I also get the error when copying the plugin into Unreal Engine\Engine-Folder instead of project folder.

What can I do? How can I use the plugin?

Best regards

Update: ----------------------------

I already tried following tutorial to get everything working:
https://medium.com/@slonorib/how-to-use-seurat-with-unreal-engine-4-2a52fb9e52cf

I also added the following line to the "Seurat.Build.cs":

PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;

But I still get the error that plugin is not compatible :(

Update 2; -------------------------------------

I also tested a blank Blueprint and a blank C++ Project. For the C++ Project, Windows SDK 8.1 must be installed. But it still does not work. When enabling the plugin, following error is shown:

The following modules are missing or built with a different engine version:

UE4Editor-Seurat.dll

Would you like to rebuild them now?

If I click yes, following is shown:

Project could not be compiled. Try rebuiding from source manually.

I really want to test that aweasome plugin in Unreal Engine :(

Where is the 'bin' folder?

It seems the bin folder was not included. Before I spend time compiling, was this compiled for 4.16.3 or will you be providing a binary?

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.