triaxis-games / realtimemeshcomponent Goto Github PK
View Code? Open in Web Editor NEWUnreal Engine 4 plugin component for rendering runtime generated content.
Home Page: https://rmc.triaxis.games/
License: Other
Unreal Engine 4 plugin component for rendering runtime generated content.
Home Page: https://rmc.triaxis.games/
License: Other
Hey Koderz, I'm having an issue with BeginMeshSectionPositionUpdate: TArray<FVector>& Vertices = *CSGMesh->RMC->BeginMeshSectionPositionUpdate(0);
and Vertices
is NULL.
The code that creates the vertices is below:
TArray<FVector> Positions;
TArray<FRuntimeMeshVertexNoPosition> VertexData;
FBox BoundingBox = FBox(FVector(1000.f, 1000.f, 1000.f), FVector(-1000.f, -1000.f, -1000.f));
URuntimeMeshLibrary::CreateBoxMesh(FVector(Size, Size, Size), Positions, Triangles, Normals, TextureCoordinates, Tangents);
for(int32 i = 0; i < Normals.Num(); i++)
VertexData.Add(FRuntimeMeshVertexNoPosition(Normals[i], Tangents[i], TextureCoordinates[i]));
RMC->CreateMeshSectionDualBuffer(0, Positions, VertexData, Triangles, BoundingBox, false, EUpdateFrequency::Frequent);
I would like to create a cube that I can then move the faces/create new ones during a runtime level editor I am working on.
Hi,
I am trying to convert SMC to RMC at runtime. But im getting memory errors. I am using UE 4.14 .
mainStaticMesh is UStaticMeshComponent and filled with my static mesh.
URuntimeMeshLibrary::CopyRuntimeMeshFromStaticMeshComponent(mainStaticMesh, 0, RuntimeMesh, false);
Best,
Got wrong when I use the funtion calculate tangent for a mesh, and it works well in ProceduralMeshComponent. I installed the RMC from marketplace, not source code
UE 4.15.2
Vertices : [0] (1000.0f, 0.0f, -100.0f)
[1] (-1000.0, -1000.0f, -100.0f)
[2] (-1000.0, 1000.0f, -100.0f)
[3] (0.0f, 0.0f, 2000.0f)
Triangles: 0 2 1
0 1 3
1 2 3
2 0 3
UV : all is (0.0f, 0.0f) for the 4 vertices
When the number of vertices in the model exceeds 7 million faces, the frame rate is very low
I 100% need information on custom vertex structures. I probably need info on how to use it with materials as well but I haven't made it that far yet.
Pathfinding not working in "Shipping" Build configuration.
Hi, firstly this contribution is amazing - thank you!
I'm using CopyRuntimeMeshFromStaticMeshComponent to generate a dynamic mesh from a static one. However, this results in a vertex buffer with lots of additional vertices with random, non-initialized values.
It typically results a bounding box range check throwing an error.
The culprit seems to be the use of the AdjacencyTriangles buffer in GetSectionFromStaticMesh. As it doesn't seem to be used, for now I've just set AdjacencyTriangles to nullptr and moved the AdjacencyTriangles->Reset() call to after the (AdjacencyTriangles != nullptr) check. All seems to work.
Hope that makes sense, interested to know if this is my particular use case or not.
Not sure which commit I'm on, pulled down the master branch today 20/10/2016
Thanks!
Hey,
First of all I want to thank you, this is exactly what I needed to implement some features.
I know I'm posting this on the wrong repo, but I found no other way to enter in contact with you.
Using the slicer I get a lot of errors when validating section vert num < 0, also caps do not work some times.
Other question, can the slicer be used with dual buffer sections ? Currently it doesn't work.
Thanks !
How would I go about getting the mesh data like vertices, triangles, UVs and normals from a runtime mesh?
GetSectionMesh() gives me vertices and indices. How do I get UVs, normals, tangents and Vertex Colors?
MachineId:FFE9D4CE4D347057434FBAA0D71D517A
EpicAccountId:0a07e675f2fb47b899c2f761b279eac9
Access violation - code c0000005 (first/second chance not available)
PhysX3CommonPROFILE_x64!physx::shdfnd::atomicDecrement() [d:\ori.cohen_g6217_physics\engine\source\thirdparty\physx\physx-3.3\source\foundation\src\windows\pswindowsatomic.cpp:45]
PhysX3PROFILE_x64!physx::NpShape::~NpShape() [d:\ori.cohen_g6217_physics\engine\source\thirdparty\physx\physx-3.3\source\physx\src\npshape.cpp:53]
PhysX3PROFILE_x64!physx::NpShape::`scalar deleting destructor'()
PhysX3PROFILE_x64!physx::NpFactory::releaseShapeToPool() [d:\ori.cohen_g6217_physics\engine\source\thirdparty\physx\physx-3.3\source\physx\src\npfactory.cpp:874]
PhysX3PROFILE_x64!physx::NpDestroy() [d:\ori.cohen_g6217_physics\engine\source\thirdparty\physx\physx-3.3\source\physx\src\npfactory.cpp:1249]
PhysX3PROFILE_x64!physx::Scb::Scene::removephysx::Scb::Body,1() [d:\ori.cohen_g6217_physics\engine\source\thirdparty\physx\physx-3.3\source\physx\src\buffering\scbscene.cpp:411]
PhysX3PROFILE_x64!physx::Scb::Scene::removeRigidBody() [d:\ori.cohen_g6217_physics\engine\source\thirdparty\physx\physx-3.3\source\physx\src\buffering\scbscene.cpp:601]
PhysX3PROFILE_x64!physx::NpRigidDynamic::release() [d:\ori.cohen_g6217_physics\engine\source\thirdparty\physx\physx-3.3\source\physx\src\nprigiddynamic.cpp:66]
UE4Editor_Engine!TermBodyHelper() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\engine\private\physicsengine\bodyinstance.cpp:1947]
UE4Editor_Engine!FBodyInstance::TermBody() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\engine\private\physicsengine\bodyinstance.cpp:2000]
UE4Editor_Engine!UPrimitiveComponent::DestroyPhysicsState() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\engine\private\components\primitivecomponent.cpp:616]
UE4Editor_Engine!UActorComponent::ExecuteUnregisterEvents() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\engine\private\components\actorcomponent.cpp:1120]
UE4Editor_Engine!UActorComponent::UnregisterComponent() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\engine\private\components\actorcomponent.cpp:945]
UE4Editor_Engine!AActor::UnregisterAllComponents() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\engine\private\actor.cpp:3861]
UE4Editor_Engine!ULevel::ClearLevelComponents() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\engine\private\level.cpp:686]
UE4Editor_Engine!UWorld::ClearWorldComponents() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\engine\private\world.cpp:1307]
UE4Editor_Engine!UWorld::CleanupWorld() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\engine\private\world.cpp:3288]
UE4Editor_UnrealEd!UEditorEngine::TeardownPlaySession() [d:\build++ue4+release-4.12+compile\sync\engine\source\editor\unrealed\private\playlevel.cpp:653]
UE4Editor_UnrealEd!UEditorEngine::EndPlayMap() [d:\build++ue4+release-4.12+compile\sync\engine\source\editor\unrealed\private\playlevel.cpp:255]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\build++ue4+release-4.12+compile\sync\engine\source\editor\unrealed\private\editorengine.cpp:1399]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\build++ue4+release-4.12+compile\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:368]
UE4Editor!FEngineLoop::Tick() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:2775]
UE4Editor!GuardedMain() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\launch\private\launch.cpp:148]
UE4Editor!GuardedMainWrapper() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
kernel32
ntdll
Hello, I'm getting the following error at runtime (built for Android_ASTC):
Fatal error: [File:D:\Github\unktomi-g\UnrealEngine\Engine\Source\Runtime\Engine\Private\PhysicsEngine\BodySetup.cpp] [Line: 804]
LogPlayLevel: adb:
LogPlayLevel: adb: 02-04 03:56:11.449 26963 26988 D UE4 : This platform requires cooked packages, and physX data was not cooked into BodySetup /Game/chrisContent/Scenes/Dreamworld.Dreamworld:PersistentLevel.OasisMeshBuilder_C_0.RuntimeMesh.BodySetup_2.
Any insight is much appreciated :)
In my case, I don't need collision for the runtime mesh and tried turning it off but I get the same result.
Hi,
In the PMC, a function GetBodySetup allow us to access to the bodySetup of a PMC . I saw that in the RMC you made the bodySetup directly accessible via a pointer but it is always empty for me(Not containing any convex).
Best,
So I downloaded the async collision cooking branch and installed it to my project. I used the 4.15 source build of UE4. When I try to build the project I get an error saying this header, "PhysicsEngine/PhysXCookData.h" could not be found. Is this because it was made on an older version of UE4? or do I have to add this header myself and if so then where do I get it from? Does the header come from integrating PhysX to the project?
I'm calling
DisparityMesh->CreateMeshSection(0, vertices, Triangles, false);
Where vertices is TArray<FVector>
and Triangles is TArray<int32>
When compiling, I get this problem
d:\ue4_dev\nvidia_ue4_14\engine\plugins\runtimemeshcomponent\source\runtimemeshcomponent\public\RuntimeMeshSection.h(542): note: while compiling class template member function 'const FRuntimeMeshVertexTypeInfo *FRuntimeMeshSection<VertexType>::GetVertexType(void) const'
2> with
2> [
2> VertexType=FVector
2> ]
2> d:\ue4_dev\nvidia_ue4_14\engine\source\runtime\core\public\templates\PointerIsConvertibleFromTo.h(16): note: see reference to class template instantiation 'FRuntimeMeshSection<VertexType>' being compiled
2> with
2> [
2> VertexType=FVector
2> ]
2> D:\UE4_Dev\NVIDIA_UE4_14\Engine\Source\Runtime\Core\Public\Templates\SharedPointer.h(518): note: see reference to class template instantiation 'TPointerIsConvertibleFromTo<ObjectType,const UObjectBase>' being compiled
2> with
2> [
2> ObjectType=FRuntimeMeshSection<FVector>
2> ]
2> D:\UE4_Dev\NVIDIA_UE4_14\Engine\Plugins\RuntimeMeshComponent\Source\RuntimeMeshComponent\Public\RuntimeMeshComponent.h(171): note: see reference to class template instantiation 'TSharedPtr<FRuntimeMeshSection<VertexType>,0>' being compiled
2> with
2> [
2> VertexType=FVector
2> ]
2> D:\_User\Username\Documents\Unreal Projects\OpenCVCollisionTest2\Source\OpenCVCollisionTest\CVStereoReader.cpp(247): note: see reference to function template instantiation 'void URuntimeMeshComponent::CreateMeshSection<FVector>(int32,TArray<FVector,FDefaultAllocator> &,TArray<ElementType,FDefaultAllocator> &,bool,EUpdateFrequency,ESectionUpdateFlags)' being compiled
2> with
2> [
2> ElementType=int32
2> ]
2>d:\ue4_dev\nvidia_ue4_14\engine\plugins\runtimemeshcomponent\source\runtimemeshcomponent\public\RuntimeMeshSection.h(542): error C2065: 'TypeInfo': undeclared identifier
similar to issue #37
I've built the plugin as an engine plugin on NVIDIA's FLeX 4.14.3 branch: https://github.com/NvPhysX/UnrealEngine/tree/FleX-4.14.3
As the title says : If you try to create a mesh section without any triangles on packaged version, the game will crash instantly, regardless of the settings you input in the node.
Made a question topic here: https://answers.unrealengine.com/questions/488031/packaging-runtimemeshplugin-for-linux.html
I don't know enough about the plugin system and cross-compiling to troubleshoot the problems here. Are there some editor-only flags that need to be set or something? (just throwing out guesses)
The RMC doesn't seem to be affected by physics. I turned on 'Simulate Physics' and 'Enable Gravity' for the RMC but with no effect.
I tried with the example project (https://github.com/Koderz/UE4RuntimeMeshComponentExamples) with UE Version 4.14.3 and in my own project with version 4.15.0
Is it somehow possible to have a RMC that is affected by gravity?
If not is it possible to save the mesh of the RMC using C++? (I have seen that this is possible in the editor)
Hello! If I use packed vertex structures for example:
Vertices.Add(FRuntimeMeshVertexSimple(FVector(0, 100, 0), FVector(0, 0, 1), FRuntimeMeshTangent(0, -1, 0), FColor::White, FVector2D(0, 0)));
Vertices.Add(FRuntimeMeshVertexSimple(FVector(0, 100, 0), FVector(0, 0, 1), FRuntimeMeshTangent(0, -1, 0), FColor::White, FVector2D(0, 0)));
How can I access Vertex Coordinates of each Vertices Array?
I get these errors:
1>------ Build started: Project: UE4, Configuration: BuiltWithUnrealBuildTool Win32 ------
2>------ Build started: Project: SandBox, Configuration: Development_Editor x64 ------
2> Performing 6 actions (12 in parallel)
2> RuntimeMeshComponent.generated.cpp
2> Module.RuntimeMeshComponentEditor.cpp
2>d:\program files\epic games\ue_4.15\engine\source\runtime\coreuobject\public\UObject/Class.h(662): error C2280: 'FRuntimeMeshComponentPrePhysicsTickFunction &FRuntimeMeshComponentPrePhysicsTickFunction::operator =(const FRuntimeMeshComponentPrePhysicsTickFunction &)': attempting to reference a deleted function
2> E:\Projects\Unreal\SandBox\Plugins\RuntimeMeshComponent\Source\RuntimeMeshComponent\Public\RuntimeMeshComponent.h(69): note: compiler has generated 'FRuntimeMeshComponentPrePhysicsTickFunction::operator =' here
2> d:\program files\epic games\ue_4.15\engine\source\runtime\coreuobject\public\UObject/Class.h(997): note: see reference to function template instantiation 'bool CopyOrNot<CPPSTRUCT>(CPPSTRUCT *,const CPPSTRUCT *,int32)' being compiled
2> with
2> [
2> CPPSTRUCT=FRuntimeMeshComponentPrePhysicsTickFunction
2> ]
2> d:\program files\epic games\ue_4.15\engine\source\runtime\coreuobject\public\UObject/Class.h(996): note: while compiling class template member function 'bool UScriptStruct::TCppStructOps<FRuntimeMeshComponentPrePhysicsTickFunction>::Copy(void *,const void *,int32)'
2> E:\Projects\Unreal\SandBox\Plugins\RuntimeMeshComponent\Intermediate\Build\Win64\UE4Editor\Inc\RuntimeMeshComponent\RuntimeMeshComponent.generated.cpp(115): note: see reference to class template instantiation 'UScriptStruct::TCppStructOps<FRuntimeMeshComponentPrePhysicsTickFunction>' being compiled
2>e:\projects\unreal\sandbox\plugins\runtimemeshcomponent\source\runtimemeshcomponenteditor\private\RuntimeMeshComponentDetails.h(7): error C2504: 'IDetailCustomization': base class undefined
2>e:\projects\unreal\sandbox\plugins\runtimemeshcomponent\source\runtimemeshcomponenteditor\private\RuntimeMeshComponentDetails.h(13): error C3668: 'FRuntimeMeshComponentDetails::CustomizeDetails': method with override specifier 'override' did not override any base class methods
2>E:\Projects\Unreal\SandBox\Plugins\RuntimeMeshComponent\Source\RuntimeMeshComponentEditor\Private\RuntimeMeshComponentDetails.cpp(16): error C2440: 'return': cannot convert from 'SharedPointerInternals::FRawPtrProxy<FRuntimeMeshComponentDetails>' to 'TSharedRef<IDetailCustomization,0>'
2> E:\Projects\Unreal\SandBox\Plugins\RuntimeMeshComponent\Source\RuntimeMeshComponentEditor\Private\RuntimeMeshComponentDetails.cpp(16): note: No constructor could take the source type, or constructor overload resolution was ambiguous
2>E:\Projects\Unreal\SandBox\Plugins\RuntimeMeshComponent\Source\RuntimeMeshComponentEditor\Private\RuntimeMeshComponentDetails.cpp(85): error C2027: use of undefined type 'IAssetTools'
2> D:\Program Files\Epic Games\UE_4.15\Engine\Source\Developer\AssetTools\Public\AssetToolsModule.h(9): note: see declaration of 'IAssetTools'
2>E:\Projects\Unreal\SandBox\Plugins\RuntimeMeshComponent\Source\RuntimeMeshComponentEditor\Private\RuntimeMeshComponentDetails.cpp(85): error C2228: left of '.CreateUniqueAssetName' must have class/struct/union
2>ERROR : UBT error : Failed to produce item: E:\Projects\Unreal\SandBox\Plugins\RuntimeMeshComponent\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-RuntimeMeshComponent.lib
2> Total build time: 25.60 seconds (Local executor: 0.00 seconds)
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(41,5): error MSB3075: The command ""D:\Program Files\Epic Games\UE_4.15\Engine\Build\BatchFiles\Build.bat" SandBoxEditor Win64 Development "E:\Projects\Unreal\SandBox\SandBox.uproject" -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I am new to Unreal, so I am not completely sure about how to fix it. It is the 2.0 release, and I will test on 4.13.2 too, later... I hope it can be fixed for 4.15.0
I'm spawning a world in Mesh chunks, sort of like minecraft. But when the mesh is spawned some distance (Not sure of much to be exact) from the players spawn location (I've tried moving the spawn point around, and this holds up) The mesh gets darker, as seen on the image. It's not a transition, it's litterally just the entire chunk that gets darker when spawned. What is the reason for this? Is there some light settings, that does not apply when mesh is creating far from spawn point?
When launching a project packaged in UE 4.15.1 (shipping build), the executable crashes on startup with the following output (when trying to create a render thread):
Access violation - code c0000005 (first/second chance not available)
PFS_Win64_Shipping!FD3D11DynamicRHI::RHILockVertexBuffer()
PFS_Win64_Shipping!FDynamicRHI::LockVertexBuffer_RenderThread()
PFS_Win64_Shipping!FRuntimeMeshVertexBuffer::SetData() [d:\projects\unreal\pfs\simulator\plugins\ue4runtimemeshcomponent-2.0\source\runtimemeshcomponent\public\runtimemeshrendering.h:78]
PFS_Win64_Shipping!FRuntimeMeshSectionProxy<FRuntimeMeshVertexSimple,0>::FinishCreate_RenderThread() [d:\projects\unreal\pfs\simulator\plugins\ue4runtimemeshcomponent-2.0\source\runtimemeshcomponent\public\runtimemeshsectionproxy.h:171]
PFS_Win64_Shipping!FRuntimeMeshSceneProxy::CreateSection_RenderThread() [d:\projects\unreal\pfs\simulator\plugins\ue4runtimemeshcomponent-2.0\source\runtimemeshcomponent\private\runtimemeshcomponent.cpp:107]
PFS_Win64_Shipping!TGraphTask<URuntimeMeshComponent::CreateSectionInternal'::
18'::EURCMacro_FRuntimeMeshSectionCreate>::ExecuteTask() [c:\program files\epic games\ue_4.15\engine\source\runtime\core\public\async\taskgraphinterfaces.h:888]
PFS_Win64_Shipping!FNamedTaskThread::ProcessTasksNamedThread()
PFS_Win64_Shipping!FNamedTaskThread::ProcessTasksUntilQuit()
PFS_Win64_Shipping!RenderingThreadMain()
PFS_Win64_Shipping!FRenderingThread::Run()
PFS_Win64_Shipping!FRunnableThreadWin::Run()
AFAIK the project settings should be as instructed for Runtime Mesh Component.
Any ideas what can be possibly causing this crash or how to fix it? Everything works fine when playing on editor.
OS: Win64
Engine: 4.16.2
Project link: https://mega.nz/#!zdxw2DDQ!uHxHgButoB3K0LE59eLAOy5DOIwxlRJhh2bFJa4Bq7w
Will be happy to provide any more details if needed :)
I am using this plugin in my project,and Often need to update the vertex color without other data.Now I have to recreate MeshSection(Or updateMeshSection) ,Which can lead to unnecessary performance overhead with physice recook,but I did not actually change the mesh shape.Can I only change vertex‘s color without cooking coliision.
I have to rebuild my project in Visual Studio before I can open the editor. I just added RMC to an actor in the scene. After rebuilding, the editor will open and won't crash again until I try to reopen it later on.
Assertion failed: GIsHotReload [File:D:\Build\++UE4+Release-4.13+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectBase.cpp] [Line: 579]
Trying to recreate class 'URuntimeMeshComponent' outside of hot reload!
UE4Editor_CoreUObject!CreatePackage() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:543]
UE4Editor_CoreUObject!UObjectLoadAllCompiledInStructs() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:781]
UE4Editor_CoreUObject!ProcessNewlyLoadedUObjects() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:829]
UE4Editor_CoreUObject!TBaseStaticDelegateInstance<void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:1017]
UE4Editor_Core!TBaseMulticastDelegate<void>::Broadcast() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:921]
UE4Editor_Core!FModuleManager::LoadModuleWithFailureReason() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\private\modules\modulemanager.cpp:424]
UE4Editor_Projects!FModuleDescriptor::LoadModulesForPhase() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\projects\private\moduledescriptor.cpp:398]
UE4Editor_Projects!FPluginManager::LoadModulesForEnabledPlugins() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\projects\private\pluginmanager.cpp:559]
UE4Editor!FEngineLoop::LoadStartupModules() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:2218]
UE4Editor!FEngineLoop::PreInit() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:1653]
UE4Editor!GuardedMain() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\launch\private\launch.cpp:117]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:202]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
kernel32
ntdll
Any idea what would be causing this?
Hello,
I'm using the RuntimeMeshComponent from a C++ class using UE4.13.1. I noticed (After hours of research) that (at least for me) if the first vertex passed to the CreateMeshSection is positioned at the origin (0,0,0) or close (<100, <100, <100), the mesh is not created (at least not visible). I discovered RuntimeMeshComponent because ProceduralMeshComponent was not working for, very likely, the same reason. Also from blueprint having the first vertex at origin makes no problem.
I'm fairly new to UE4 so the problem might be entirely my fault.
I add at the end of the message the portion of code generating the problem for me. The commented is copy pasted from the wiki and works. The uncommented one is not.
I hope this is useful and not just a problem I'm the only one to meet.
Regards,
Code:
mesh = CreateDefaultSubobject(TEXT("GeneratedMesh"));
TArray<FVector> vertices;
// First Vertex
vertices.Add(FVector(0, 0, 0)); // This makes it not working
//vertices.Add(FVector(50, 50, 0)); // This makes it not working
//vertices.Add(FVector(100, 100, 0)); // This works
// Second Vertex
vertices.Add(FVector(100, 0, 0));
// Third Vertex
vertices.Add(FVector(0, 100, 0));
TArray<int32> triangles;
triangles.Add(0);
triangles.Add(1);
triangles.Add(2);
//triangles.Add(0);
//triangles.Add(3);
//triangles.Add(2);
TArray<FVector> normals;
normals.Add(FVector(0, 0, 1));
normals.Add(FVector(0, 0, 1));
normals.Add(FVector(0, 0, 1));
//normals.Add(FVector(0, 0, 1));
TArray<FVector2D> UV;
UV.Add(FVector2D(0, 0));
UV.Add(FVector2D(1, 0));
//UV.Add(FVector2D(1, 1));
UV.Add(FVector2D(0, 1));
mesh->CreateMeshSection(0, vertices, triangles, normals, UV, TArray<FColor>(), TArray<FRuntimeMeshTangent>(), false);
/*
// First vertex
TArray<FVector> Vertices;
Vertices.Add(FVector(0, 100, 0));
Vertices.Add(FVector(100, 100, 0));
Vertices.Add(FVector(100, 0, 0));
//Vertices.Add(FVector(0, 0, 0));
TArray<FVector> Normals;
Normals.Add(FVector(0, 0, 1));
Normals.Add(FVector(0, 0, 1));
Normals.Add(FVector(0, 0, 1));
//Normals.Add(FVector(0, 0, 1));
TArray<FRuntimeMeshTangent> Tangents;
Tangents.Add(FRuntimeMeshTangent(0, -1, 0));
Tangents.Add(FRuntimeMeshTangent(0, -1, 0));
Tangents.Add(FRuntimeMeshTangent(0, -1, 0));
Tangents.Add(FRuntimeMeshTangent(0, -1, 0));
TArray<FVector2D> UV;
UV.Add(FVector2D(0, 0));
UV.Add(FVector2D(1, 0));
//UV.Add(FVector2D(1, 1));
UV.Add(FVector2D(0, 1));
TArray<int32> Triangles;
Triangles.Add(0);
Triangles.Add(1);
Triangles.Add(2);
Triangles.Add(0);
Triangles.Add(2);
Triangles.Add(3);
mesh->CreateMeshSection(0, Vertices, Triangles, Normals, UV, TArray<FColor>(), TArray<FRuntimeMeshTangent>(), false);
*/
mesh->SetMeshSectionVisible(0, true);
RootComponent = mesh;
I have created a RuntimeMeshComponent and a mesh section using CreateMeshSection. In the Tick function, I modify the vertices and try to update the mesh using
UpdateMeshSection(0, vertices);
which yields the error below. I am using the plugin installed from the Marketplace, version 2.1. Any idea what the problem is? Updating by using ClearAllMeshSections and creating a new mesh section each tick works fine.
Info Compiling game modules for hot reload Info Performing 3 actions (2 in parallel) Info Distorted.cpp Error c:\program files\epic games\ue_4.16\engine\plugins\marketplace\runtimemeshcomponent\source\runtimemeshcomponent\public\RuntimeMeshSection.h(542) : error C2039: 'TypeInfo': is not a member of 'FVector' Error C:\Program Files\Epic Games\UE_4.16\Engine\Plugins\Marketplace\RuntimeMeshComponent\Intermediate\Build\Win64\UE4Editor\Inc\RuntimeMeshComponent\RuntimeMeshComponent.generated.h(11) : note: see declaration of 'FVector' Error c:\program files\epic games\ue_4.16\engine\plugins\marketplace\runtimemeshcomponent\source\runtimemeshcomponent\public\RuntimeMeshSection.h(542) : note: while compiling class template member function 'const FRuntimeMeshVertexTypeInfo *FRuntimeMeshSection<VertexType>::GetVertexType(void) const' Info with Info [ Info VertexType=FVector Info ] Error C:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime\Core\Public\Templates/PointerIsConvertibleFromTo.h(18) : note: see reference to class template instantiation 'FRuntimeMeshSection<VertexType>' being compiled Info with Info [ Info VertexType=FVector Info ] Error C:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime\Core\Public\Templates/SharedPointer.h(536) : note: see reference to class template instantiation 'TPointerIsConvertibleFromTo<ObjectType,TSharedFromThis<ObjectType,0>>' being compiled Info with Info [ Info ObjectType=FRuntimeMeshSection<FVector> Info ] Error C:\Program Files\Epic Games\UE_4.16\Engine\Plugins\Marketplace\RuntimeMeshComponent\Source\RuntimeMeshComponent\Public\RuntimeMeshComponent.h(318) : note: see reference to class template instantiation 'TSharedPtr<FRuntimeMeshSection<VertexType>,0>' being compiled Info with Info [ Info VertexType=FVector Info ] Error C:\Dev\NewDist\Source\NewDist\Distorted.cpp(55) : note: see reference to function template instantiation 'void URuntimeMeshComponent::UpdateMeshSection<FVector>(int32,TArray<FVector,FDefaultAllocator> &,ESectionUpdateFlags)' being compiled Error c:\program files\epic games\ue_4.16\engine\plugins\marketplace\runtimemeshcomponent\source\runtimemeshcomponent\public\RuntimeMeshSection.h(542) : error C2065: 'TypeInfo': undeclared identifier Info ERROR: UBT ERROR: Failed to produce item: C:\Dev\NewDist\Binaries\Win64\UE4Editor-NewDist-6910.dll Info Total build time: 19.76 seconds (Local executor: 0.00 seconds)
Hi,
I am new to Unreal and use RMC for the first time. I want to create a cylinder mesh procedurally by using RMC. If I use the CreateMeshSection method, do I have to clarify the Normals and Tangents? I have created a cylinder mesh in Unity. In Unity, setting the vertices and triangles properly is enough to create the mesh. I wonder if there is a way to achieve that by using RMC? It seems that adding Normals and Tangents makes the work far more complicated.
Thanks!
I am quite new to procedural meshes and thanks to your RuntimeMesh I am able to get geometry into Unreal without any problems. So big thanks for your efforts.
Now in need to get a third UV channel to use in the shader material to correctly use the underlying texture atlas.
How can this be acompilshed? Because the APIs are for either one or two UV channels and only in internal structures there are occurences of more UV channels. Would be nice, to give me some directions where to look at.
Cheers Max
I get the following build error while building on
25>------ Build started: Project: TestPAL, Configuration: Linux_Development_Program Win32 ------
12> Using LINUX_MULTIARCH_ROOT, building with toolchain 'D:\dev\Linux_CorssCompileToolchain\v8_clang-3.9.0-centos7\x86_64-unknown-linux-gnu'
12> Target is up to date
12> Deploying UE4Game Linux Development...
12> Total build time: 0.83 seconds (NoActionsToExecute executor: 0.00 seconds)
13> Using LINUX_MULTIARCH_ROOT, building with toolchain 'D:\dev\Linux_CorssCompileToolchain\v8_clang-3.9.0-centos7\x86_64-unknown-linux-gnu'
13> Target is up to date
13> Deploying BlankProgram Linux Development...
13> Total build time: 0.15 seconds (NoActionsToExecute executor: 0.00 seconds)
14> Using LINUX_MULTIARCH_ROOT, building with toolchain 'D:\dev\Linux_CorssCompileToolchain\v8_clang-3.9.0-centos7\x86_64-unknown-linux-gnu'
14> Target is up to date
14> Deploying BuildPatchTool Linux Development...
14> Total build time: 0.21 seconds (NoActionsToExecute executor: 0.00 seconds)
16> Using LINUX_MULTIARCH_ROOT, building with toolchain 'D:\dev\Linux_CorssCompileToolchain\v8_clang-3.9.0-centos7\x86_64-unknown-linux-gnu'
16> Performing 1 actions (4 in parallel)
16> [1/1] Link CrossCompilerTool
16> D:/dev/UnrealEngineSource/UnrealEngine/Engine/Intermediate/Build/Linux/B4D820EA/CrossCompilerTool/Development/ShaderFormatOpenGL/Module.ShaderFormatOpenGL.cpp.o: In function `FOpenGLFrontend::PrecompileShader(FShaderCompilerOutput&, FShaderCompilerInput const&, char const*, GLSLVersion, EHlslShaderFrequency)':
16> D:\dev\UnrealEngineSource\UnrealEngine\Engine\Source\Developer\ShaderFormatOpenGL\Private/OpenGLShaderCompiler.cpp:1158: undefined reference to `glCreateShader'
16> D:\dev\UnrealEngineSource\UnrealEngine\Engine\Source\Developer\ShaderFormatOpenGL\Private/OpenGLShaderCompiler.cpp:1161: undefined reference to `glShaderSource'
16> D:\dev\UnrealEngineSource\UnrealEngine\Engine\Source\Developer\ShaderFormatOpenGL\Private/OpenGLShaderCompiler.cpp:1165: undefined reference to `glCompileShader'
16> D:\dev\UnrealEngineSource\UnrealEngine\Engine\Source\Developer\ShaderFormatOpenGL\Private/OpenGLShaderCompiler.cpp:1168: undefined reference to `glGetShaderiv'
16> D:\dev\UnrealEngineSource\UnrealEngine\Engine\Source\Developer\ShaderFormatOpenGL\Private/OpenGLShaderCompiler.cpp:1183: undefined reference to `glGetShaderiv'
16> D:\dev\UnrealEngineSource\UnrealEngine\Engine\Source\Developer\ShaderFormatOpenGL\Private/OpenGLShaderCompiler.cpp:1192: undefined reference to `glGetShaderInfoLog'
16> D:\dev\UnrealEngineSource\UnrealEngine\Engine\Source\Developer\ShaderFormatOpenGL\Private/OpenGLShaderCompiler.cpp:1220: undefined reference to `glDeleteShader'
16>clang++.exe : error : linker command failed with exit code 1 (use -v to see invocation)
16>ERROR : UBT error : Failed to produce item: D:\dev\UnrealEngineSource\UnrealEngine\Engine\Binaries\Linux\CrossCompilerTool
16> Total build time: 3.19 seconds (Local executor: 0.00 seconds)
It is not possible to build RMC on OS X with the declaration order in RuntimeMeshGenericVertex.h. Clang is pretty picky about the declaration order inside source files, if a struct depends on another struct, the dependency has to be declared first.
I'd submit a patch, but I gave up after running into C++14 build errors (unsupported by unreal on OS X).
Maybe a dumb question as this is still listed as a 4.15 plugin, but I wanted to know if this is a known issue atm., or if I should dig into the problem further...
I am using the latest branch, and creating packed arrays from data that previously worked with ProceduralMeshComponents.
The resultant mesh renders ok, but is missing a number of triangles, in a fairly regular pattern.
I am basically pumping the vertex data into an array like this, in a loop..
Vertices.Add( FRuntimeMeshVertexSimple( m_vNode[j].m_vPosition, m_vNode[j].m_vNormal, FRuntimeMeshTangent(0,0,1), FColor(0,0,0), m_vNode[j].m_fTexCoord )); }
Previously I was pushing the same vertex data to individual arrays thus..
for (unsigned int j=0; j<count; j++) { Vertices.Add(m_vNode[j].m_vPosition); Normals.Add(m_vNode[j].m_vNormal); UV0.Add(m_vNode[j].m_fTexCoord); }
The index data has not changed.
I want to update the mesh shape and its color every frame,i used the function CreateMeshSectionDualBuffer to update position every frame.
So,what should i do to update the mesh's color?
please help me,thanks a lot:)
Hey, I've been playing with this plugin for a bit, and using standard packed vertex buffers seems to be fine, but trying to call the function CreateMeshSectionDualBuffer is giving me problems.
The full log is below:
Access violation - code c0000005 (first/second chance not available) UE4Editor_TerrainGen!URuntimeMeshComponent::CreateOrResetSection<FRuntimeMeshSection<FRuntimeMeshVertexNoPosition> >() [c:\program files (x86)\epic games\4.14\engine\plugins\marketplace\runtimemeshcomponent\source\runtimemeshcomponent\public\runtimemeshcomponent.h:86] UE4Editor_TerrainGen!URuntimeMeshComponent::CreateMeshSectionDualBuffer<FRuntimeMeshVertexNoPosition>() [c:\program files (x86)\epic games\4.14\engine\plugins\marketplace\runtimemeshcomponent\source\runtimemeshcomponent\public\runtimemeshcomponent.h:235] UE4Editor_TerrainGen!ALandActor::Generate() [c:\users\aslatas\documents\unreal projects\terraingen\source\terraingen\landactor.cpp:52] UE4Editor_TerrainGen!ALandActor::ALandActor() [c:\users\aslatas\documents\unreal projects\terraingen\source\terraingen\landactor.cpp:13] UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_Core UE4Editor_Core UE4Editor_Projects UE4Editor_Projects UE4Editor UE4Editor UE4Editor UE4Editor UE4Editor UE4Editor kernel32 ntdll
I apologize if this is something trivial, I'm a bit of a novice - I suppose it finds issue with line 86 of RuntimeMeshComponent.h but I've no real idea how to proceed.
I essentially recreated one of the examples to produce the inputs, but calling that particular function crashes the editor.
Here are the .h and .cpp files for the class:
LandActor_header.txt
LandActor.txt
I should note that moving the function call into BeginPlay allows the editor to start even with my actor loaded in the level, but trying to play in editor crashes as one might expect.
Rebooting UE4, VS, the PC, and refreshing/regenerating project files haven't helped, I think it's likely I've made some simple mistake with the arguments.
Thanks for the help.
Hi Koderz,
Build succeeds in UE 4.12 but fails in UE 4.13.
It looks like UPOERTY and UENUM cannot be used inside preprocessor in the latest version.
Severity Code Description Project File Line Suppression State
Error UPROPERTY inside this preprocessor block will be skipped iBlock C:\Users\burp\Documents\GitLab\work_iblock\iBlock\Plugins\RuntimeMeshComponent\Source\Public\RuntimeMeshComponent.h 1133
Severity Code Description Project File Line Suppression State
Error UENUM inside this preprocessor block will be skipped iBlock C:\Users\burp\Documents\GitLab\work_iblock\iBlock\Plugins\RuntimeMeshComponent\Source\Public\RuntimeMeshCore.h 125
For context, as a quick prototype, I'm trying to take a static mesh component which has several sections, and simply copy it to a runtime mesh component. The blueprint callable function "copyRuntimeMeshFromStaticMeshComponent" works fine for this.
I'm having trouble then accessing the mesh data - there's no function available in blueprint to get the runtime mesh section's say, vertices array. This makes it impossible for me to then update the mesh section, as I don't have a vertex array to feed it. I'm unsure if I'm misunderstanding something and there's an easy way to do this, if it's only possible in C++, or not intended at all.
To get around this, I'm using the "getSectionFromStaticMesh" function, which returns all the data I need. In Blueprint, I can store this to play with later. Excellent.
The procedural mesh component version of this function works fine, but any attempt to use the RMC version (the one that returns a runtime mesh tangent array) crashes the editor. I've provided the error log for this below.
Further, using the procedural mesh version of the function and then calculating normal/tangent data for a runtime mesh also crashes the editor, as does storing that data in a variable. Creating an array of Runtime Mesh Tangent by hand compiles without issue, but using that array to update the mesh crashes the editor.
I haven't been very rigorous in isolating this in C++ code, but it seems like the same sort of problem exists - using the getSectionFromStaticMesh function, calculating runtime mesh tangents, etc. compile but crash the editor when called.
It seems to me that something is wrong in my case when generating or using the runtime mesh tangent struct. I'm inexperienced and so I may just be missing something simple here, but below is a log file and I'd be happy to provide anything else.
> LoginId:aa10e1ce48afc9f013628c99f8cfa81d
> EpicAccountId:15120b2127334ed59ea403fb350f2b2b
>
> Assertion failed: UV1s && UV1s->Num() > CurrentPosition [File:d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\runtimemeshcomponent\source\runtimemeshcomponent\public\RuntimeMeshBuilder.h] [Line: 786]
> KERNELBASE
> UE4Editor_Core
> UE4Editor_Core
> UE4Editor_Core
> UE4Editor_RuntimeMeshComponent!FRuntimeMeshComponentVerticesBuilder::GetUV() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\runtimemeshcomponent\source\runtimemeshcomponent\public\runtimemeshbuilder.h:787]
> UE4Editor_RuntimeMeshComponent!URuntimeMeshLibrary::CalculateTangentsForMesh() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\runtimemeshcomponent\source\runtimemeshcomponent\private\runtimemeshlibrary.cpp:241]
> UE4Editor_RuntimeMeshComponent!URuntimeMeshLibrary::CalculateTangentsForMesh() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\runtimemeshcomponent\source\runtimemeshcomponent\private\runtimemeshlibrary.cpp:328]
> UE4Editor_RuntimeMeshComponent!URuntimeMeshLibrary::execCalculateTangentsForMesh() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\runtimemeshcomponent\source\runtimemeshcomponent\public\runtimemeshlibrary.h:14]
> UE4Editor_CoreUObject
> UE4Editor_CoreUObject
> UE4Editor_CoreUObject
> UE4Editor_CoreUObject
> UE4Editor_CoreUObject
> UE4Editor_CoreUObject
> UE4Editor_Engine
> UE4Editor_Engine
> UE4Editor_Engine
> UE4Editor_Engine
> UE4Editor_Engine
> UE4Editor_UnrealEd
> UE4Editor_UnrealEd
> UE4Editor_UnrealEd
> UE4Editor_Kismet
> UE4Editor_Kismet
> UE4Editor_Kismet
> UE4Editor_Slate
> UE4Editor_Slate
> UE4Editor_Slate
> UE4Editor_Slate
> UE4Editor_Slate
> UE4Editor_Slate
> UE4Editor_Slate
> UE4Editor_Slate
> UE4Editor_Slate
> UE4Editor_Slate
> UE4Editor_Slate
> UE4Editor_Slate
> UE4Editor_Core
> UE4Editor_Core
> UE4Editor_Core
> UE4Editor_Core
> user32
> user32
> UE4Editor_Core
> UE4Editor
> UE4Editor
> UE4Editor
> UE4Editor
> UE4Editor
> kernel32
> ntdll
The current implementation of operator< in the Vertex struct would have (3,4,5) < (5,4,3), but it would also have (5,4,3) < (3,4,5)
Hey I get the following error when I try to compile this with UE 4.15.2:
error C2504: 'TStructOpsTypeTraitsBase2': base class undefined
TStructOpsTypeTraitsBase2 is not a template
Line 72, RuntimeMeshComponent.h
Hi,
Is there are "Minimal" example for this component, I dont want to derive my own Actor classes, just add my custom component to an emtpy Actor.
Hey @Koderz,
I'm getting the following compiler error when trying to use the RuntineMeshAsync helpers:
1>C:\Program Files (x86)\Epic Games\4.14\Engine\Plugins\Marketplace\RuntimeMeshComponent\Source\RuntimeMeshComponent\Public\RuntimeMeshAsync.h(204):
error C2664: 'void URuntimeMeshComponent::CreateMeshSection(int32,IRuntimeMeshVerticesBuilder &,FRuntimeMeshIndicesBuilder &,bool,EUpdateFrequency,ESectionUpdateFlags)':
cannot convert argument 3 from 'TArray<FRuntimeMeshVertexNoPosition,FDefaultAllocator>' to 'TArray<ElementType,FDefaultAllocator> &'
From the following code:
TArray<FVector> Vertices;
TArray<int32> Triangles;
TArray<FRuntimeMeshVertexNoPosition> VertexData;
// ...
FRuntimeMeshAsync::CreateMeshSectionDualBuffer<FRuntimeMeshVertexNoPosition>(this, 0, Vertices, VertexData, Triangles, true, EUpdateFrequency::Frequent, ESectionUpdateFlags::None);
Any chance you can spot what I'm doing wrong?
VS spits out a ton of errors upon trying to compile when having #include Components/SplineComponent.h
:
I create an RMC using CopyRuntimeMeshFromStaticMeshComponent, with a simple cube (8 verts)
URuntimeMeshLibrary::CopyRuntimeMeshFromStaticMeshComponent(smc, 0, rmc, false);
Then I extract Vertices and Indices from the RMC:
const IRuntimeMeshVerticesBuilder* Vertices = nullptr;
const FRuntimeMeshIndicesBuilder* Indices = nullptr;
rmc->GetSectionMesh(0, Vertices, Indices);
Now I have 24 indices instead of the expected 8.
Whenever I try to use the Blueprint Node for GetSectionFromStaticMesh in the Editor, the editor Crashes with the following error:
Access violation - code c0000005 (first/second chance not available)
UE4Editor_RuntimeMeshComponent!FRuntimeMeshComponentVerticesBuilder::Reset() [d:\maikel files\unreal projects\clonerruntimecpp\plugins\ue4runtimemeshcomponent\source\runtimemeshcomponent\public\runtimemeshbuilder.h:860]
UE4Editor_RuntimeMeshComponent!URuntimeMeshLibrary::GetSectionFromStaticMesh() [d:\maikel files\unreal projects\clonerruntimecpp\plugins\ue4runtimemeshcomponent\source\runtimemeshcomponent\private\runtimemeshlibrary.cpp:408]
UE4Editor_RuntimeMeshComponent!URuntimeMeshLibrary::GetSectionFromStaticMesh() [d:\maikel files\unreal projects\clonerruntimecpp\plugins\ue4runtimemeshcomponent\source\runtimemeshcomponent\private\runtimemeshlibrary.cpp:463]
UE4Editor_RuntimeMeshComponent!URuntimeMeshLibrary::execGetSectionFromStaticMesh() [d:\maikel files\unreal projects\clonerruntimecpp\plugins\ue4runtimemeshcomponent\source\runtimemeshcomponent\public\runtimemeshlibrary.h:14]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4525]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:721]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2149]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:948]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4525]
UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1318]
UE4Editor_Engine!AActor::ProcessEvent() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\actor.cpp:678]
UE4Editor_Engine!AActor::UserConstructionScript()
UE4Editor_Engine!AActor::ProcessUserConstructionScript() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\actorconstruction.cpp:841]
UE4Editor_Engine!AActor::ExecuteConstruction() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\actorconstruction.cpp:757]
UE4Editor_Engine!AActor::RerunConstructionScripts() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\actorconstruction.cpp:490]
UE4Editor_UnrealEd!FReinstanceFinalizer::Finalize() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:523]
UE4Editor_UnrealEd!FBlueprintCompileReinstancer::ReinstanceObjects() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:923]
UE4Editor_UnrealEd!FKismetEditorUtilities::CompileBlueprint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\kismet2\kismet2.cpp:868]
UE4Editor_Kismet!FBlueprintEditor::Compile() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\kismet\private\blueprinteditor.cpp:3283]
UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,TTypeWrapper<void> __cdecl(void)>::Execute() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:327]
UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:433]
UE4Editor_Slate!FUICommandList::ExecuteAction() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\framework\commands\uicommandlist.cpp:97]
UE4Editor_Slate!SToolBarButtonBlock::OnClicked() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\framework\multibox\stoolbarbuttonblock.cpp:305]
UE4Editor_Slate!TMemberFunctionCaller<SToolBarButtonBlock,FReply (__cdecl SToolBarButtonBlock::*)(void) __ptr64>::operator()<>() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegateinstanceinterface.h:165]
UE4Editor_Slate!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<SToolBarButtonBlock,FReply (__cdecl SToolBarButtonBlock::*)(void) __ptr64> >() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\tuple.h:134]
UE4Editor_Slate!TBaseSPMethodDelegateInstance<0,SToolBarButtonBlock,0,FReply __cdecl(void)>::Execute() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:327]
UE4Editor_Slate!TBaseDelegate<FReply>::Execute() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:537]
UE4Editor_Slate!SButton::OnMouseButtonUp() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\widgets\input\sbutton.cpp:278]
UE4Editor_Slate!<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1>::operator()() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5075]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1> >() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:238]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5064]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5531]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5508]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:1698]
UE4Editor_Core!FWindowsApplication::DeferMessage() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:2120]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:867]
UE4Editor_Core!FWindowsApplication::AppWndProc() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:714]
user32
user32
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:980]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:2977]
UE4Editor!GuardedMain() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor!WinMain() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
kernel32
ntdll
All I do when using the node is set the mesh to the Shape_Torus from the Standard Assets and then try to run the program.
I am using the master branch directly in the plugin folder of the project. Am I doing something extremely wrong here or is this actually an issue?
It looks like some of the latest commits have started to use some C++14 features, such as variable templates. Out of the box, C++14 is not supported by Unreal (at least on OS X) without rebuilding the build tools.
https://answers.unrealengine.com/questions/340300/can-my-game-be-configured-to-use-c14.html
request support skeletal animation ?
Hi,
I have successfully made (WIP) planet rendering in OpenGL/DX but im new to unreal 4 and could find a base to start with, can you kindly add support for PT_4_ControlPointPatchList with tessellation shader support, because a quad is better looking when tessellated than triangles for planet.
Or atleast guide me the places where and what needs to change to support PT_4_ControlPointPatchList!
Hi, sorry, bad form to leave a help request as an issue like this: just a quick question if you don't mind?
Currently building a DualBuffer mesh with positions, DualUV vertex data and the EUpdateFrequency::Frequent flag set.
Then updating in the loop with BeginMeshSectionPositionUpdate for speed.
This works fine, though very quickly the normal info is completely wrong.
Question is, what is the most efficient way to update the Normals? It seems to update normals I would call CalculateTangentsForMesh then revert to UpdateMeshSection which seems a backwards step from the efficient BeginMeshSectionPositionUpdate approach?
Thanks!
Ally
Is it possible to use the generated mesh as the collision mesh without baking? I tried to set bUseComplexAsSimple
to true but I still needed to have the RMC bake the collision mesh. Can it be set similar to convex collision?
I am using this plugin.This is very useful plugin and working perfectly in editor.But when I am packaging game and run it collision does not generate.
Is there any solution for it?Where I am going wrong?
I am looking for the fastest way to update the collision mesh for a voxel-based cube mesh. Ideally, the collision mesh would be the exact same as the regular mesh, and I would be able to edit the vertices for both using the position-only vertex array. Is this possible?
Alternatively, is it possible to tell the mesh to update collision after using EndMeshSectionPositionUpdate
?
Or do I need to feed the vertex array back into one of the UpdateMeshSection
functions with bCreateCollision
set to true?
Thanks!
I'm not sure if this is related to me using UE 4.15, but when I try to compile I get the following error:
engine\source\runtime\coreuobject\public\UObject/Class.h(662): error C2280: 'FRuntimeMeshComponentPrePhysicsTickFunction &FRuntimeMeshComponentPrePhysicsTickFunction::operator =(const FRuntimeMeshComponentPrePhysicsTickFunction &)': attempting to reference a deleted function
Plugins\UE4RuntimeMeshComponent\Source\RuntimeMeshComponent\Public\RuntimeMeshComponent.h(69): note: compiler has generated 'FRuntimeMeshComponentPrePhysicsTickFunction::operator =' here
engine\source\runtime\coreuobject\public\UObject/Class.h(997): note: see reference to function template instantiation 'bool CopyOrNot<CPPSTRUCT>(CPPSTRUCT *,const CPPSTRUCT *,int32)' being compiled
with
[
CPPSTRUCT=FRuntimeMeshComponentPrePhysicsTickFunction
]
engine\source\runtime\coreuobject\public\UObject/Class.h(996): note: while compiling class template member function 'bool UScriptStruct::TCppStructOps<FRuntimeMeshComponentPrePhysicsTickFunction>::Copy(void *,const void *,int32)'
Plugins\UE4RuntimeMeshComponent\Intermediate\Build\Win64\UE4Editor\Inc\RuntimeMeshComponent\RuntimeMeshComponent.generated.cpp(115): note: see reference to class template instantiation 'UScriptStruct::TCppStructOps<FRuntimeMeshComponentPrePhysicsTickFunction>' being compiled
Thanks for the great work. Would love to try this out on 4.15.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.