Helper to create a SkeletalMeshComponent in UE4 at runtime.

Overview

Runtime Skeletal Mesh Generator for UE4

Helper to create a SkeletalMeshComponent in UE4 at runtime.

This is a header only library that simplify the process of creating a USkeletalMeshComponent, with many surfaces, at runtime. You can just pass all the surfaces' data, this library will take care to correctly populate the UE4 buffers, needed to have a fully working USkeletalMeshComponent.

Authors:

License MIT

Kindly sponsored by IMVU

Comments
  • [bug] Model randomly is rendered wrong.

    [bug] Model randomly is rendered wrong.

    Reopening here since I realized I wrote the issue in the wrong place.

    Hello, thanks for providing this plugin. After testing for a while, I think the issue is with the plugin, but if it is not I would be glad to know how this is being used elsewhere. So I started to use this plugin 4 days ago, I have been working to make a model procedurally. At the end of generation the function save the Model as a test.off file, call the plugin GenerateSkeletalMesh and return the result, which is then loaded in an Actor via blueprints. The blueprint run at Event Begin Play. The output teste.off file is always correct, you can load it in any tool to check that it is the same everytime, but the output from GenerateSkeletalMesh randomly changes. The function calculates the normals, tangents, uvs, set colors to (0,0,0) and flipnormals to false, set every vertex to the 0 bone. My function outputs a cylinder/capsule model. Sometimes the model is rendered correctly, but many times it is rendered in very weird patterns. On my side the result output is always the same, but in the engine the end result changes from play to play in bizarre ways. You can see the code and the teste.off file here: I also ported the plugin to UE5 (but the same issues happens in Ue4.27) Can visualize the teste.off file here:https://3dviewer.net/ https://github.com/Fransferdy/creaturecreator

    Screenshot (11) Screenshot (12) Screenshot (13) Screenshot (14) Screenshot (15) Screenshot (16)

    opened by Fransferdy 14
  • Usage Example

    Usage Example

    Hello,

    Are you able to provide an example of how you have used this class to generate the skeletal mesh? I've been trying to implement this into my game but I keep getting crashes during the PostLoad function. I think it might be the way I'm importing the mesh but I'm not too sure.

    opened by Mr-Craig 2
  • Make the Header Only library a plugin

    Make the Header Only library a plugin

    The rationale for this change is that this plugin may be used by many modules, and it's really bad include this file many time. Use a shared plugin is just convenient.

    opened by AndreaCatania 0
  • randomly crash with render thread exception!

    randomly crash with render thread exception!

    Hi, I use your plugin to create skeletal mesh and apply it to my character by using SetSkeletalMesh(), but, when walk around or travel to a different map, it randomly crash on my game, how to fix it . BTW, the crash only happen on packages, not PIE or standalone mode.

    opened by JohnsonChan2013 1
  • Animation broken. Following wrong bone

    Animation broken. Following wrong bone

    Looks like animation is broken. This is basically the example plus the 2 lines copying the animation from the original mesh. The skeletal mesh works fine is it's just static without the animation.

    The video attached is using the skeletalmesh and animation from the content examples. I've tried with other skeletal meshes and same issue.

    This is tested with 4.27.2

    void ADuplicateSkeletalMesh::Duplicate()
    {
    	TArray<FMeshSurface> OutSurfaces;                  
    	TArray<int32> OutSurfacesVertexOffsets;            
    	TArray<int32> OutSurfacesIndexOffsets;             
    	TArray<UMaterialInterface*> OutSurfacesMaterial;   
    	
    	USkeletalMeshComponent* SkeletalMeshComp = SkeletalMeshActor->GetSkeletalMeshComponent();
    	FRuntimeSkeletalMeshGenerator::DecomposeSkeletalMesh(
    		SkeletalMeshComp->SkeletalMesh,
    		OutSurfaces,
    		OutSurfacesVertexOffsets,
    		OutSurfacesIndexOffsets,
    		OutSurfacesMaterial);
    
    	USkeletalMeshComponent* comp = FRuntimeSkeletalMeshGenerator::GenerateSkeletalMeshComponent(
    		this,
    		SkeletalMeshComp->SkeletalMesh->Skeleton,
    		OutSurfaces,
    		OutSurfacesMaterial);
    
    	comp->AnimationData = SkeletalMeshComp->AnimationData;
    	comp->SetAnimationMode(EAnimationMode::AnimationSingleNode);
    }
    

    Skeletalmesh on the left is the original and the right is the duplicated one.

    https://user-images.githubusercontent.com/70504591/173758191-6dccc622-046f-4ea2-8370-65561c03f5e5.mp4

    opened by vmol621 1
Owner
Andrea Catania
Andrea Catania
Useful UE4 Visual Studio extensions.

UE4 Smarter Macro Indenting This extension was designed to fix the unnecessary and annoying "smart" indenting that Visual Studio likes to do around va

Chris Pawlukowsky 250 Dec 16, 2022
UE4 SDF Importers / Generators for SVG and Bitmaps

RTMSDF UE4 SDF Importers / Generators for SVG and Bitmaps NOTE: This module is very much work in progress / preview and likely to change Uses MSDFGen

Richard Meredith 9 Sep 30, 2022
Helper C++ classes to quickly preintegrate IMU measurements between SLAM keyframes

mola-imu-preintegration Integrator of IMU angular velocity readings. This repository provides: IMUIntegrator and RotationIntegrator: C++ classes to in

The MOLA SLAM framework 12 Nov 21, 2022
A repository that includes common helper functions for writing applications in the DPDK. I will be using this for my future projects in the DPDK.

The DPDK Common (WIP) Description This project includes helpful functions and global variables for developing applications using the DPDK. I am using

Christian Deacon 19 Dec 27, 2022
A tiny little helper utility for Wordle written in C.

Wordlesmith A tiny little helper utility for Wordle written in C. Building make Tested with clang-1300.0.29.3 but ought to work on anything remotely

John Biesnecker 4 Jan 15, 2022
YACHT: Yet Another C++ Helper Template

YACHT: Yet Another C++ Helper Template A template for C++ projects. Welcome to your YACHT! Because why build a boat from scratch, when you can enjoy a

Dimitri Belopopsky 11 Apr 2, 2022
Bluetooth helper tools for setting up serial ports for e.g. SSH

SSH Helper program so that you can SSH over bluetooth. This can be a useful second way in in case you have a raspberry pi with broken network or firewall config.

Thomas Habets 9 Dec 8, 2022
This is a helper library to abstract away interfacing with floppy disk drives in a cross-platform and open source library.

Adafruit Floppy This is a helper library to abstract away interfacing with floppy disk drives in a cross-platform and open source library. Adafruit Fl

Adafruit Industries 142 Dec 19, 2022
JavaScript runtime for Fastly Compute@Edge

Fastly Compute@Edge JS Runtime The JS Compute Runtime for Fastly's Compute@Edge platform provides the environment JavaScript is executed in when using

Fastly 122 Dec 20, 2022
Embedded Flutter runtime targeting Embedded Linux with Wayland

ivi-homescreen IVI Homescreen for Wayland Strongly Typed (C++) Lightweight Clang 11 Release Stripped = 151k GCC 9.3 Release Stripped = 168k Source run

null 170 Dec 13, 2022
A simple thread-safe implementation of runtime obfuscation for Win32 applications.

Thread-Safe Win32 Runtime Obfuscation A simple thread-safe implementation of runtime obfuscation for Win32 applications. The main use case for this is

Daniel 1 Mar 6, 2022
Simple EFI runtime driver that hooks GetVariable function and returns data expected by Windows to make it think that it's running with secure boot enabled (faking secure boot)

SecureFakePkg is a simple EFI runtime driver that hooks GetVariable function and returns data expected by Windows to make it think that it's running with secure boot enabled. In other words, it fakes secure boot status.

Samuel Tulach 80 Dec 30, 2022
VGG Runtime for loading design and running emulated apps.

VGG Runtime A design engine capable of loading design drafts as well as running design as an emulated app. Features Game-engine-like ECS architecture

Very Good Graphics 21 Nov 24, 2022
Resolve DOS MZ executable symbols at runtime

NtSymbol Resolve DOS MZ executable symbols at runtime Example You no longer have not have to use memory pattern scan inside your sneaky rootkit. Pass

Kento Oki 81 Nov 28, 2022
Adaptive Runtime AUTOSAR Linux Simulator

Adaptive-AUTOSAR Adaptive AUTOSAR is a simulated Adaptive Platform enviroment over Linux defined by AUTOSAR. The goal of this project is to implement

Armin Kassemi Langroodi 154 Jan 4, 2023
OCaml bytecode running on the nRF52840 board, using the OMicroB runtime with RIOT OS.

omicrob-riot-nrf52 This project gets OCaml bytecode running on the nRF52840 board. It uses OMicroB for the runtime and bytecode optimisation, and RIOT

Ben Andrew 7 Sep 23, 2022
OCaml bytecode running on the nRF52840 board, using the standard OCaml runtime with RIOT OS.

ocaml-riot-nrf52 This project gets OCaml bytecode running on the nRF52840 board. It uses the standard OCaml runtime, and RIOT OS for the base layer be

Ben Andrew 8 Mar 28, 2022
A C library for runtime-flippable feature flags on Linux/x86-64, with negligible overhead in the common case

Biased runtime-flippable flags, with cross-modifying code The dynamic_flag library is a two-file "C" library that offers efficient biased conditionals

Backtrace Labs 61 Dec 14, 2022
Laplace es un launcher/Stub externo de shellcode runtime en desarrollo por un autodidacta, para el Spyware Medusa.

Laplace - Shellcode-launcher Laplace es un launcher/Stub externo de shellcode runtime en desarrollo por un autodidacta, para el Spyware Medusa. ¿Cómo

Tolaju 5 Mar 7, 2022