xverse-engine / XV3DGS-UEPlugin

A Unreal Engine 5 (UE5) based plugin aiming to provide real-time visulization, management, editing, and scalable hybrid rendering of Guassian Splatting model.
Apache License 2.0
519 stars 72 forks source link

Crash on importing .ply file #7

Closed v4r4rth closed 8 months ago

v4r4rth commented 9 months ago

Describe the bug Unreal Engine 5.3.2 crashes on loading a .ply file

To Reproduce Steps to reproduce the behavior:

  1. Go to gsgen - https://github.com/gsgen3d/gsgen
  2. Setup project and create a .ply file
  3. Create new UE5.3.2 project, enable XVERSE plugin and restart
  4. Import ply

Expected behavior New blueprint containing the generated text-to-3d GSplat.

Log: LoginId:9b69881d4eb82810a8475587b35d1a6b EpicAccountId:98746074235e498cb3de68c55a3616ae

Assertion failed: NewNumMips <= GetFullMipCount(SizeX,SizeY,GetVolumeSizeZ()) [File:D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\Texture.cpp] [Line: 4018]

UnrealEditor_Engine UnrealEditor_Engine UnrealEditor_GSImporter!UGaussianAsset::create_whole_world_point_cloud_texture() [C:\zyl_object\project\nerf\file\output\pluginPack\5.3\v03\XV3dGS\HostProject\Plugins\XV3dGS\Source\GSImporter\Private\GaussianAsset.cpp:249] UnrealEditor_GSImporter!UGaussianAsset::serialize_gaussion_to_Texture2D() [C:\zyl_object\project\nerf\file\output\pluginPack\5.3\v03\XV3dGS\HostProject\Plugins\XV3dGS\Source\GSImporter\Private\GaussianAsset.cpp:276] UnrealEditor_GSImporter!UGaussianAsset::load_gs_model_frome_ply_file() [C:\zyl_object\project\nerf\file\output\pluginPack\5.3\v03\XV3dGS\HostProject\Plugins\XV3dGS\Source\GSImporter\Private\GaussianAsset.cpp:417] UnrealEditor_GSImporter!FGSImporterModule::PluginButtonClicked() [C:\zyl_object\project\nerf\file\output\pluginPack\5.3\v03\XV3dGS\HostProject\Plugins\XV3dGS\Source\GSImporter\Private\GSImporter.cpp:50] UnrealEditor_GSImporter!TBaseRawMethodDelegateInstance<0,FGSImporterModule,void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:534] UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_ApplicationCore UnrealEditor_ApplicationCore UnrealEditor_ApplicationCore UnrealEditor_ApplicationCore user32 user32 UnrealEditor_ApplicationCore UnrealEditor UnrealEditor UnrealEditor UnrealEditor UnrealEditor UnrealEditor kernel32 ntdll

Desktop:

eggman28 commented 9 months ago

I can import the PLY file initially and view it fine but when I close and re-load the project, it keeps crashing on load consistently.

wsai60 commented 9 months ago

I can import the PLY file initially and view it fine but when I close and re-load the project, it keeps crashing on load consistently.

I got the same issue and the position/quat4/scaleA/sh_0 maps cannot be saved. Then I changed my .ply filename, it was (xxx xxx.ply) with a space in the filename. After I removed the space and change it into (xxxxxx.ply), the problem was solved and when I import it into the UE5 project, the blueprint and these 4 maps are in one single folder, and they can be saved, and the scene loads without any problems. Hope this helps.

lxk121lalala commented 9 months ago

Describe the bug Unreal Engine 5.3.2 crashes on loading a .ply file

To Reproduce Steps to reproduce the behavior:

  1. Go to gsgen - https://github.com/gsgen3d/gsgen
  2. Setup project and create a .ply file
  3. Create new UE5.3.2 project, enable XVERSE plugin and restart
  4. Import ply

Expected behavior New blueprint containing the generated text-to-3d GSplat.

Log: LoginId:9b69881d4eb82810a8475587b35d1a6b EpicAccountId:98746074235e498cb3de68c55a3616ae

Assertion failed: NewNumMips <= GetFullMipCount(SizeX,SizeY,GetVolumeSizeZ()) [File:D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\Texture.cpp] [Line: 4018]

UnrealEditor_Engine UnrealEditor_Engine UnrealEditor_GSImporter!UGaussianAsset::create_whole_world_point_cloud_texture() [C:\zyl_object\project\nerf\file\output\pluginPack\5.3\v03\XV3dGS\HostProject\Plugins\XV3dGS\Source\GSImporter\Private\GaussianAsset.cpp:249] UnrealEditor_GSImporter!UGaussianAsset::serialize_gaussion_to_Texture2D() [C:\zyl_object\project\nerf\file\output\pluginPack\5.3\v03\XV3dGS\HostProject\Plugins\XV3dGS\Source\GSImporter\Private\GaussianAsset.cpp:276] UnrealEditor_GSImporter!UGaussianAsset::load_gs_model_frome_ply_file() [C:\zyl_object\project\nerf\file\output\pluginPack\5.3\v03\XV3dGS\HostProject\Plugins\XV3dGS\Source\GSImporter\Private\GaussianAsset.cpp:417] UnrealEditor_GSImporter!FGSImporterModule::PluginButtonClicked() [C:\zyl_object\project\nerf\file\output\pluginPack\5.3\v03\XV3dGS\HostProject\Plugins\XV3dGS\Source\GSImporter\Private\GSImporter.cpp:50] UnrealEditor_GSImporter!TBaseRawMethodDelegateInstance<0,FGSImporterModule,void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:534] UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_Slate UnrealEditor_ApplicationCore UnrealEditor_ApplicationCore UnrealEditor_ApplicationCore UnrealEditor_ApplicationCore user32 user32 UnrealEditor_ApplicationCore UnrealEditor UnrealEditor UnrealEditor UnrealEditor UnrealEditor UnrealEditor kernel32 ntdll

Desktop:

  • OS: Windows 11
  • GPU NVIDIA GeForce RTX 3050 Laptop

Thanks for your feedback. As far as I can see, ply produced by gsgen is a traditional ply model format without 3d Gaussian information. maybe you can provide a ply for us to verify it

v4r4rth commented 9 months ago

Thanks for your feedback. As far as I can see, ply produced by gsgen is a traditional ply model format without 3d Gaussian information. maybe you can provide a ply for us to verify it

Sure, thanks for checking this out :) Drive link for a few .ply models (not that great but still experimenting) - https://drive.google.com/drive/folders/14j7mm2V0qNLTS9jeGfZ84W6Zo7At5bO4?usp=sharing

lxk121lalala commented 9 months ago

Thanks for your feedback. As far as I can see, ply produced by gsgen is a traditional ply model format without 3d Gaussian information. maybe you can provide a ply for us to verify it

Sure, thanks for checking this out :) Drive link for a few .ply models (not that great but still experimenting) - https://drive.google.com/drive/folders/14j7mm2V0qNLTS9jeGfZ84W6Zo7At5bO4?usp=sharing

We've identified the cause: the provided PLY file only contains SH0. We will support this format in the next version.

lxk121lalala commented 8 months ago

Thanks for your feedback. As far as I can see, ply produced by gsgen is a traditional ply model format without 3d Gaussian information. maybe you can provide a ply for us to verify it

Sure, thanks for checking this out :) Drive link for a few .ply models (not that great but still experimenting) - https://drive.google.com/drive/folders/14j7mm2V0qNLTS9jeGfZ84W6Zo7At5bO4?usp=sharing

We fixed this issue in v1.1.1 version, you can download our new version to try it out