Very much deserved - congratulations!
Congratulations and very much deserved.
Thatās great news with the Unreal Dev Grant. Iām looking forward to the direct E57 import in the next version.
Congrats!!
Hi! Thank you very much for this amazing pointcloud.
I have a question about the aspect of the sprite. Is there a way to display it like Multipoint mode in Maya ?
I mean, in Maya you can display sprite as a standard square but you have Multi points mode where one point is multiplied and scale X times, so you can have some good results.
I made a graphic to be more explicitā¦
Thanks a lot!
I have another question : is that possible to specify the points count during the import ?
Iām not used with the realtime and LOD specifications. Can anyone help me to reduce the global number of points?
Thanks !
Hi and thanks for the interest!
First, let me apologize for the delay in the answer - I stopped receiving notifications again.
Iām not familiar with the multipoint in Maya - is it producing randomly scattered points around the original location? If so, this is definitely something I can look into.
Yes, there is!
Use the last two fields to specify first and last lines of the file to import.
Thanks guys! Really appreciate the support!
Progress update time!
The development of new rendering approach is going well, with almost all functionality of the original re-implemented. Some bug fixes and performance improvements are still on the to do list, but itās nearly complete
Sprites are now fully supported using LOD Coloration view
New LOD system allows for smooth and precise adjustment of quality:
Hey @ Iām getting a lot of crashes trying to use the plugin at the moment.
My setup is I have an Actor with a Point Cloud attached as a Child Actor Component. Sometimes the Point Clouds disappear, and the only way to get them back is to rebuild them, but simply pressing āRebuildā on the PointCloudActor isnāt enough, I have to switch the Render Method to something else (eg. Point Unlit), build it, and then switch it back to the Render Method I want (which is Sprite Unlit RGB) and then it comes back ā¦ sometimes.
But a lot of the times this just crashes the editor. Here is the stack trace when that happens:
UE4Editor-CoreUObject.dll!UObjectBase::IsValidLowLevel() Line 296 C++
UE4Editor-PointCloudRuntime-Win64-DebugGame.dll!UPointCloudComponent::GetMaterial(int ElementIndex) Line 137 C++
UE4Editor-PointCloudRuntime-Win64-DebugGame.dll!UPointCloudComponent::AddReferencedObjects(UObject * InThis, FReferenceCollector & Collector) Line 156 C++
UE4Editor-CoreUObject.dll!TFastReferenceCollector<1,FGCReferenceProcessor<1>,FGCCollector<1>,FGCArrayPool,0>::ProcessObjectArray(FGCArrayStruct & InObjectsToSerializeStruct, const TRefCountPtr<FGraphEvent> & MyCompletionGraphEvent) Line 775 C++
UE4Editor-CoreUObject.dll!TFastReferenceCollector<1,FGCReferenceProcessor<1>,FGCCollector<1>,FGCArrayPool,0>::FCollectorTaskQueue::DoTask() Line 381 C++
[Inline Frame] UE4Editor-CoreUObject.dll!TFastReferenceCollector<1,FGCReferenceProcessor<1>,FGCCollector<1>,FGCArrayPool,0>::FCollectorTaskProcessorTask::DoTask(ENamedThreads::Type) Line 412 C++
UE4Editor-CoreUObject.dll!TGraphTask<TFastReferenceCollector<1,FGCReferenceProcessor<1>,FGCCollector<1>,FGCArrayPool,0>::FCollectorTaskProcessorTask>::ExecuteTask(TArray<FBaseGraphTask *,FDefaultAllocator> & NewTasks, ENamedThreads::Type CurrentThread) Line 829 C++
[Inline Frame] UE4Editor-Core.dll!FBaseGraphTask::Execute(TArray<FBaseGraphTask *,FDefaultAllocator> &) Line 498 C++
UE4Editor-Core.dll!FTaskThreadAnyThread::ProcessTasks() Line 934 C++
UE4Editor-Core.dll!FTaskThreadAnyThread::ProcessTasksUntilQuit(int QueueIndex) Line 800 C++
UE4Editor-Core.dll!FTaskThreadBase::Run() Line 516 C++
UE4Editor-Core.dll!FRunnableThreadWin::Run() Line 76 C++
UE4Editor-Core.dll!FRunnableThreadWin::GuardedRun() Line 25 C++
[External Code]
Here is a screen grab of the crash in VS2017, in case thatās helpful:
https://i.imgur.com/uzmjaYP.png
Any thoughts what might be causing this? Itās making the plugin unusable at the moment.
Hey @, another thing: I canāt actually package a project that uses the plugin at the moment either. Same project builds fine without the point clouds. Here is the packaging output for the failure:
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: begin: stack for UAT
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: === Handled ensure: ===
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error:
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: Ensure condition failed: MyOwnerWorld [File:D:\Build\++UE4+Release-4.19+Compile\Sync\Engine\Source\Runtime\Engine\Private\Components\ActorComponent.cpp] [Line: 1031]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error:
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: Stack:
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x000000009FB5B706 UE4Editor-Core.dll!FWindowsPlatformStackWalk::StackWalkAndDump() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\windows\windowsplatformstackwalk.cpp:234]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x000000009F8BAE3A UE4Editor-Core.dll!FDebug::EnsureFailed() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:299]
PackagingResults: Error: begin: stack for UAT
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x000000009F8CECD6 UE4Editor-Core.dll!FDebug::OptionallyLogFormattedEnsureMessageReturningFalse() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:430]
PackagingResults: Error: === Handled ensure: ===
PackagingResults: Error: Ensure condition failed: MyOwnerWorld [File:D:\Build\++UE4+Release-4.19+Compile\Sync\Engine\Source\Runtime\Engine\Private\Components\ActorComponent.cpp] [Line: 1031]
PackagingResults: Error: Stack:
PackagingResults: Error: [Callstack] 0x000000009FB5B706 UE4Editor-Core.dll!FWindowsPlatformStackWalk::StackWalkAndDump() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\windows\windowsplatformstackwalk.cpp:234]
PackagingResults: Error: [Callstack] 0x000000009F8BAE3A UE4Editor-Core.dll!FDebug::EnsureFailed() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:299]
PackagingResults: Error: [Callstack] 0x000000009F8CECD6 UE4Editor-Core.dll!FDebug::OptionallyLogFormattedEnsureMessageReturningFalse() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:430]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x000000009CF20F18 UE4Editor-Engine.dll!UActorComponent::RegisterComponent() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\components\actorcomponent.cpp:1031]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x000000008C55A30A UE4Editor-PointCloudRuntime.dll!APointCloudActor::RebuildComponents() [f:\perforce\cosmosisvr\plugins\pointcloudplugin\source\pointcloudruntime\private\pointcloudactor.cpp:143]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x000000008C54FD0F UE4Editor-PointCloudRuntime.dll!TBaseUObjectMethodDelegateInstance<0,APointCloudActor,void __cdecl(void)>::ExecuteIfSafe() [c:\program files\epic games\ue_4.19\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:659]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x000000008C54B45C UE4Editor-PointCloudRuntime.dll!TBaseMulticastDelegate<void>::Broadcast() [c:\program files\epic games\ue_4.19\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:937]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x000000008C559E40 UE4Editor-PointCloudRuntime.dll!UPointCloud::Rebuild() [f:\perforce\cosmosisvr\plugins\pointcloudplugin\source\pointcloudruntime\private\pointcloud.cpp:516]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x00000000A387024D UE4Editor-CoreUObject.dll!UObject::ConditionalPostLoad() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\obj.cpp:994]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x00000000A393AFAC UE4Editor-CoreUObject.dll!EndLoad() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1595]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x00000000A395312B UE4Editor-CoreUObject.dll!LoadPackageInternal() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1339]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x00000000A3952544 UE4Editor-CoreUObject.dll!LoadPackage() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1436]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x000000009D447DF9 UE4Editor-Engine.dll!UWorld::LoadSecondaryLevels() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\levelactor.cpp:1168]
PackagingResults: Error: [Callstack] 0x000000009CF20F18 UE4Editor-Engine.dll!UActorComponent::RegisterComponent() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\components\actorcomponent.cpp:1031]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x000000009AF5C5FC UE4Editor-UnrealEd.dll!UCookOnTheFlyServer::PostLoadPackageFixup() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\cookontheflyserver.cpp:2434]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x000000009AF30C88 UE4Editor-UnrealEd.dll!UCookOnTheFlyServer::GetAllUnsolicitedPackages() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\cookontheflyserver.cpp:2064]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x000000009AF7BB4A UE4Editor-UnrealEd.dll!UCookOnTheFlyServer::TickCookOnTheSide() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\cookontheflyserver.cpp:1746]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x000000009AE2A580 UE4Editor-UnrealEd.dll!UCookCommandlet::CookByTheBook() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\commandlets\cookcommandlet.cpp:904]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x000000009AE51CB0 UE4Editor-UnrealEd.dll!UCookCommandlet::Main() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\commandlets\cookcommandlet.cpp:584]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x0000000004DCEB20 UE4Editor-Cmd.exe!FEngineLoop::PreInit() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:2195]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x0000000004DC69FA UE4Editor-Cmd.exe!GuardedMain() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\launch.cpp:127]
PackagingResults: Error: [Callstack] 0x000000008C55A30A UE4Editor-PointCloudRuntime.dll!APointCloudActor::RebuildComponents() [f:\perforce\cosmosisvr\plugins\pointcloudplugin\source\pointcloudruntime\private\pointcloudactor.cpp:143]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x0000000004DC6C4A UE4Editor-Cmd.exe!GuardedMainWrapper() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:144]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x0000000004DD4177 UE4Editor-Cmd.exe!WinMain() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:223]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x0000000004DD4FBF UE4Editor-Cmd.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
PackagingResults: Error: [Callstack] 0x000000008C54FD0F UE4Editor-PointCloudRuntime.dll!TBaseUObjectMethodDelegateInstance<0,APointCloudActor,void __cdecl(void)>::ExecuteIfSafe() [c:\program files\epic games\ue_4.19\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:659]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x000000000F7D3034 KERNEL32.DLL!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: [Callstack] 0x0000000010B21431 ntdll.dll!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error:
UATHelper: Packaging (Windows (64-bit)): LogOutputDevice: Error: end: stack for UAT
PackagingResults: Error: [Callstack] 0x000000008C54B45C UE4Editor-PointCloudRuntime.dll!TBaseMulticastDelegate<void>::Broadcast() [c:\program files\epic games\ue_4.19\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:937]
PackagingResults: Error: [Callstack] 0x000000008C559E40 UE4Editor-PointCloudRuntime.dll!UPointCloud::Rebuild() [f:\perforce\cosmosisvr\plugins\pointcloudplugin\source\pointcloudruntime\private\pointcloud.cpp:516]
PackagingResults: Error: [Callstack] 0x00000000A387024D UE4Editor-CoreUObject.dll!UObject::ConditionalPostLoad() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\obj.cpp:994]
PackagingResults: Error: [Callstack] 0x00000000A393AFAC UE4Editor-CoreUObject.dll!EndLoad() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1595]
PackagingResults: Error: [Callstack] 0x00000000A395312B UE4Editor-CoreUObject.dll!LoadPackageInternal() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1339]
PackagingResults: Error: [Callstack] 0x00000000A3952544 UE4Editor-CoreUObject.dll!LoadPackage() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1436]
PackagingResults: Error: [Callstack] 0x000000009D447DF9 UE4Editor-Engine.dll!UWorld::LoadSecondaryLevels() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\levelactor.cpp:1168]
PackagingResults: Error: [Callstack] 0x000000009AF5C5FC UE4Editor-UnrealEd.dll!UCookOnTheFlyServer::PostLoadPackageFixup() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\cookontheflyserver.cpp:2434]
PackagingResults: Error: [Callstack] 0x000000009AF30C88 UE4Editor-UnrealEd.dll!UCookOnTheFlyServer::GetAllUnsolicitedPackages() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\cookontheflyserver.cpp:2064]
PackagingResults: Error: [Callstack] 0x000000009AF7BB4A UE4Editor-UnrealEd.dll!UCookOnTheFlyServer::TickCookOnTheSide() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\cookontheflyserver.cpp:1746]
PackagingResults: Error: [Callstack] 0x000000009AE2A580 UE4Editor-UnrealEd.dll!UCookCommandlet::CookByTheBook() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\commandlets\cookcommandlet.cpp:904]
PackagingResults: Error: [Callstack] 0x000000009AE51CB0 UE4Editor-UnrealEd.dll!UCookCommandlet::Main() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\commandlets\cookcommandlet.cpp:584]
PackagingResults: Error: [Callstack] 0x0000000004DCEB20 UE4Editor-Cmd.exe!FEngineLoop::PreInit() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:2195]
PackagingResults: Error: [Callstack] 0x0000000004DC69FA UE4Editor-Cmd.exe!GuardedMain() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\launch.cpp:127]
PackagingResults: Error: [Callstack] 0x0000000004DC6C4A UE4Editor-Cmd.exe!GuardedMainWrapper() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:144]
PackagingResults: Error: [Callstack] 0x0000000004DD4177 UE4Editor-Cmd.exe!WinMain() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:223]
PackagingResults: Error: [Callstack] 0x0000000004DD4FBF UE4Editor-Cmd.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
PackagingResults: Error: [Callstack] 0x000000000F7D3034 KERNEL32.DLL!UnknownFunction ]
PackagingResults: Error: [Callstack] 0x0000000010B21431 ntdll.dll!UnknownFunction ]
Something which I think is related is that when I run the editor in debug mode, I quite often get this break point occurring:
https://i.imgur.com/HmCmDIG.png
It allows me to continue, so it doesnāt totally crash the editor, but it seems related to the packaging error above.
EDIT:
I thought I should mention, in case itās relevant, that Iām using the Point Cloud in a streaming level. So I have an Actor, with a Child Actor containing the Point Cloud, in a streaming level which I am loading into my persistent level. Not sure if thatās relevant, but it might be.
Regarding the issue of Child Actor
It looks like the materials are losing references. This would explain why changing RenderMode fixes it (sometimes), as that will force the PC to recreate and redistribute new materials.
Iām guessing itās because building it via Child Actor doesnāt link those references automatically.
Good news is 0.5 is immune to this
Bad news is, 0.4 isnāt
Regarding Packaging
I havenāt tested streaming levels and currently have no idea how that affects things.
At first glance it looks like there is a problem with PC issuing a rebuild broadcast to the actors, as they cannot register new components. My best guess is the PC tries to rebuild itself before the actorās world is actually initialized.
Try placing a world guard in the APointCloudActor::RebuildComponents:
replace
if (PointCloud && !PointCloud->IsDirty())
with
if (PointCloud && !PointCloud->IsDirty() && GetWorld())
Thanks for responding so quickly, as always.
Adding the world guard means the project packages now - thanks!
So when is v0.5 coming out?
No problem
I know, it takes absolutely forever! So many changes
Estimated release is early August, but I might end up moving some of the functionality to later version and release it earlier, as quite a lot of people ask for it
For those who donāt know yet, there is an** Early Access **available for the plugin.
For more information consult Trello
Thanks for the share. Will defiantly play around with this.
Thanks for making this! I am a beginner in with UE, with no prior knowledge about game development / virtual reality. My background is actually in producing point clouds, and Iād like to view them in virtual reality (using UE and HTC vive set). I managed to import the point cloud to Viewport and have a look - it looks great! The process is also very straight forward, so thanks for making it so easy. It would be great to be able to scale the point cloud and to add other functionality. Is that possible? I see that there are plenty of tutorials on how to deal with meshes, but Iām not sure how they apply to point clouds. What are the main steps to make a scalable point cloud (scaling would happen with controllers)? If somebody has relevant links, or could explain that here, I would appreciate it very much. Thanks in advance!
Hi there!
Sorry for the delay, I donāt know whatās going on with the notifications they seem to be very random.
What do you mean by scaling the cloud?
If size, then itās certainly possible: use the cloudās scale setting (requires cloud rebuilding, so probably not a real-time solutions) or the actorās scale.
If you mean density, then sadly no. In itās current version, the plugin doesnāt allow for a forced LOD selection
Sorry for being unspecific. I meant resizing with motion controllers in real-time, similar to what this video demonstrates with a static mesh (a cube): https://www.youtube.com/watch?v=JCIwz9s_WTw (see 20min 40s ->)
Could this same approach be applied to point clouds? In the end Iād like to scale and rotate the point clouds with motion controllers.
It might actually work
If you apply actor transformations, they should come through to the point cloud.
Let me know if it works, Iām curious myself now