Git Product home page Git Product logo

runtimemeshcomponent's Introduction

Runtime Mesh Component for Unreal Engine 4


I'm back and actively developing the RMC and affiliated plugins!

Version 4 is now in pre-release!


This project is a labor of love, but unfortunately love doesn't pay the bills! If you've found this project useful, please consider supporting the development! You can support the project here!


Join us on Discord

Examples for the RMC can be found here! An example project using the RMC can be found here!


The Runtime Mesh Component, or RMC for short, is a component designed specifically to support rendering and collision on meshes generated at runtime. This could be anything from voxel engines like Minecraft, to custom model viewers, or supporting user loaded models. It has numerous different features to support most of the normal rendering needs of a game, as well as ability to support both static collision for things such as terrain, as well as dynamic collision for things that need to be able to move and bounce around!

The RMC is very similar in purpose to the ProceduralMeshComponent or CustomMeshComponent current found in UE4, but far surpasses both in features, and efficiency! Both the Procedural Mesh Component and Custom Mesh Component are memory heavy, the Procedural Mesh Component is inefficient both in its rendering path as well as update logic, and the Custom Mesh Component is very lacking in any real features.

Version 4 is a total redesign of the component, to better support the wide variety of cases people have used it for, and more in the future. With this it has departed being backward compatible or cross compatible with the Procedural Mesh Component, but for that it has gained a massive amount of customizability, as well as compartmentalization of logic to better increase efficiency.


List of features for V4: (Those with asterisks not yet completed, or tested)

  • Full support for variable mesh configurations
  • Up to 8 Texture Coordinate (UV) channels
  • High or normal precision Texture Coordinate (UV) channels
  • High or normal precision normals/tangents
  • LOD Support*
  • Automatic Normal/Tangent calculation possible*
  • Navigation Mesh Support
  • RMC <-> StaticMesh conversions*
  • Configurable Render Paths, (Quicker Update, Slower Render) (Slower Update, Quicker Render)
  • No store mesh data internally, much lower memory footprint, mesh data can be cached by provider if wanted
  • Material Slots, just like Static Mesh Component
  • Visibility/Shadowing are configurable per section.
  • Collision separate from rendering (collision can use render mesh automatically with use of provider)*
  • Tessellation Support*

For information on installation, usage and everything else, please read the Wiki

Supported Engine Versions: v4.0 supports engine versions 4.23+ v3.0 supports engine versions 4.17+ v2.0 supports engine versions 4.12+ v1.2 supports engine versions 4.10+

The Runtime Mesh Component should support all UE4 platforms. Collision MAY NOT be available on some platforms (HTML5)

runtimemeshcomponent's People

Contributors

alleysark avatar benui-dev avatar caswal avatar connorjak avatar davenye avatar glassbeaver avatar jerryhyun avatar koderz avatar kuldaen avatar michaeltchapman avatar moddingear avatar raian avatar rpg3d avatar rumbleballthereal avatar timdecode avatar

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.