Code Monkey home page Code Monkey logo

custommeshcomponent's People

Contributors

ayoubkhammassi 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  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

custommeshcomponent's Issues

Not work in 4.26.2

LogClass: Warning: ObjectProperty FDeformMeshSection::StaticMesh is not initialized properly. Module:DeformMesh File:Classes/Components/DeformMeshComponent.h
LogClass: Warning: FDeformMeshSection::DeformTransform is not initialized properly. Module:DeformMesh File:Classes/Components/DeformMeshComponent.h
LogClass: Display: 2 Uninitialized script struct members found
LogAutomationTest: Warning: ObjectProperty FDeformMeshSection::StaticMesh is not initialized properly. Module:DeformMesh File:Classes/Components/DeformMeshComponent.h
LogAutomationTest: Warning: FDeformMeshSection::DeformTransform is not initialized properly. Module:DeformMesh File:Classes/Components/DeformMeshComponent.h

LogNavigationDirtyArea: Warning: Skipping dirty area creation because of empty bounds (object: DeformMeshComponent /Game/Maps/MainMap.MainMap:PersistentLevel.DeformMeshActor_1.Deform Mesh Component)
LogNavigationDirtyArea: Warning: Skipping dirty area creation because of empty bounds (object: DeformMeshComponent /Game/Maps/MainMap.MainMap:PersistentLevel.DeformMeshActor_1.Deform Mesh Component)
LogNavigationDirtyArea: Warning: Skipping dirty area creation because of empty bounds (object: DeformMeshComponent /Game/Maps/MainMap.MainMap:PersistentLevel.DeformMeshActor_1.Deform Mesh Component)
LogNavigationDirtyArea: Warning: Skipping dirty area creation because of empty bounds (object: DeformMeshComponent /Game/Maps/MainMap.MainMap:PersistentLevel.DeformMeshActor_1.Deform Mesh Component)
LogNavigationDirtyArea: Warning: Skipping dirty area creation because of empty bounds (object: DeformMeshComponent /Game/Maps/MainMap.MainMap:PersistentLevel.DeformMeshActor_1.Deform Mesh Component)

And render nothing.

Question

I have a question for you. I found your article because I'm in the process of trying to create a custom mesh of a sphere and apply noise to it to generate terrain. The only way to do that in UE is to access the systems you're referencing in your article. I've read through it and I kind of understand the principles you've explained, but the example you give actually still uses a pre-generated mesh. I was wondering if you have any tips on how to create a mesh from say an array of vertices that I determine myself.

The idea being that I generate a large planet with terrain.

Also great work on the article so far, I know theres one more chapter to come but so far you've given me a lot of insight on how UE abstracts away access to the rendering pipeline.

Issues with update to 4.28

First of all, let me tell you that I highly appreciate your tutorials, I would have found it impossible to get into this topic without them.

I attempted to run your project with 4.28. After patching UpdateDeformTransformsSB_RenderThread to check that DeformTransformsSB != nullptr I got the editor working and it shows the statue just fine. I assume maybe the order in which things are initialized must have changed between versions.

Anyways, when I try to run the game itself I get the following error log:

FD3D11DynamicRHI::RHICreateVertexBuffer()
FD3D11DynamicRHI::CreateVertexBuffer_RenderThread()
FPositionVertexBuffer::CreateRHIBuffer_Internal<1>()
FPositionVertexBuffer::InitRHI()
InitOrUpdateResource() [CustomMeshComponent\Source\DeformMesh\Private\Components\DeformMeshComponent.cpp:1
<lambda_2d7339148efd183a3d3d33b3b2efb563>::operator()() [CustomMeshComponent\Source\DeformMesh\Private\Components\DeformMeshComponent.cpp:2
TEnqueueUniqueRenderCommandType<InitVertexFactoryData'::2'::StaticMeshVertexBuffersLegacyInitName,<lambda_2d7339148efd183a3d3d33b3b2efb563> >::DoTask() [Engine\Source\Runtime\RenderCore\Public\RenderingThread.h:1
TGraphTask<TEnqueueUniqueRenderCommandType<InitVertexFactoryData'::2'::StaticMeshVertexBuffersLegacyInitName,<lambda_2d7339148efd183a3d3d33b3b2efb563> > >::ExecuteTask() [Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:8
FNamedTaskThread::ProcessTasksNamedThread()
FNamedTaskThread::ProcessTasksUntilQuit()
RenderingThreadMain()
FRenderingThread::Run()
FRunnableThreadWin::Run()
FRunnableThreadWin::GuardedRun()

From what I can gather, during the initialization of the PositionVertexBuffer in StaticMeshVertexBuffersLegacyInit
a check(Size > 0) fails in FD3D11DynamicRHI::RHICreateVertexBuffer() on line24 D3D11VertexBuffer.cpp:

if (CreateInfo.bWithoutNativeResource)
{
return new FD3D11VertexBuffer();
}

// Explicitly check that the size is nonzero before allowing CreateVertexBuffer to opaquely fail.
check(Size > 0);

Unfortunately I cant seem to debug the launched game (only the editor), so I'm left to look at the code. I see from
FVertexBufferRHIRef FPositionVertexBuffer::CreateRHIBuffer_Internal() in PositionVertexBuffer.cpp

FResourceArrayInterface* RESTRICT ResourceArray = VertexData ? VertexData->GetResourceArray() : nullptr;
const uint32 SizeInBytes = ResourceArray ? ResourceArray->GetResourceDataSize() : 0;
FRHIResourceCreateInfo CreateInfo(ResourceArray);
CreateInfo.bWithoutNativeResource = !VertexData;
if (bRenderThread)
{
	return RHICreateVertexBuffer(SizeInBytes, BUF_Static | BUF_ShaderResource, CreateInfo);
}

I know from PositionVertexBuffer.cpp that bWithoutNativeResource is false, i.e. VertexData is not nullptr so either the VertexData resource is not initialized or its size is 0.

Again, I suppose the order in which things are initialized must have changed and without being able to debug I feel very much stuck. Any chance you could give me a hint on how to approach this?

Best regards,
Oskar

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.