Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support local gltf v3 #2075

Draft
wants to merge 68 commits into
base: main
Choose a base branch
from

Conversation

AlejandroAlvarezMelucciDCL
Copy link
Collaborator

@AlejandroAlvarezMelucciDCL AlejandroAlvarezMelucciDCL commented Sep 17, 2024

This PR continues the work from #1670

  • Refactor to use WebRequestController in GLTFDownloadProvider
  • Fix Scene Emotes not working with LocalSceneDevelopment
  • Check if pooling is working correctly (meshes, materials, etc.) -> investigate what we do with loaded AssetBundles and apply same optimization
  • Add test coverage, checking its existent counterpart with AssetBundles

Optimizations

  • Implement "DeferredAgent" to optimize how GLTFs are loaded. Provide it to GltfImporter on construction.
  • Implement raw GLTF loading as a FALLBACK for failed Asset Bundle loading for GltfContainer. This will be useful in production (not for local scene development) to load assets that are still converting into AssetBundle instead of not showing any asset in their place. < --- Should be moved to a different issue
  • Check first AB fetch when entering play mode that looks for the scene AB and avoid it for localSceneDevelopment
  • Try to have only 1 GltFastDownloadProvider instance and re-use it instead of instantiating and killing it for every GLTF loaded. The previous approach of having a public string TargetGltfOriginalPath is not good because that path is changed before the textures are fetched, when a different GLTF is tryign to be loaded. If optimizing this makes the code too complex or takes too much time let's forget it for now.

# Conflicts:
#	Explorer/Assets/DCL/PluginSystem/World/GltfContainerPlugin.cs
#	Explorer/Assets/DCL/SDKComponents/AudioSources/Tests/PlayMode/SDKAudioSourcesAutomatedTests.cs
#	Explorer/Assets/Scripts/ECS/StreamableLoading/DeferredLoading/AssetsDeferredLoadingSystem.cs
#	Explorer/Assets/Scripts/ECS/StreamableLoading/GLTF/GLTFData.cs
#	Explorer/Assets/Scripts/ECS/StreamableLoading/GLTF/GetGLTFIntention.cs
#	Explorer/Assets/Scripts/ECS/StreamableLoading/GLTF/GltFastDownloadProvider.cs
#	Explorer/Assets/Scripts/ECS/StreamableLoading/GLTF/LoadGLTFSystem.cs
#	Explorer/Assets/Scripts/ECS/Unity/ECS.Unity.asmdef
#	Explorer/Assets/Scripts/ECS/Unity/GLTFContainer/Asset/Components/GltfContainerAsset.cs
#	Explorer/Assets/Scripts/ECS/Unity/GLTFContainer/Asset/Systems/CreateGltfAssetFromRawGltfSystem.cs
#	Explorer/Assets/Scripts/ECS/Unity/GLTFContainer/Asset/Systems/PrepareGltfAssetLoadingSystem.cs
#	Explorer/Assets/Scripts/Global/Dynamic/Bootstraper.cs
#	Explorer/Assets/Scripts/Global/Static/StaticSceneLauncher.cs
#	Explorer/Assets/Scripts/Global/StaticContainer.cs
#	Explorer/Packages/manifest.json
#	Explorer/Packages/packages-lock.json
# Conflicts:
#	Explorer/Assets/git-submodules/unity-shared-dependencies
…; Left some commented out logs to be removed soon
@AlejandroAlvarezMelucciDCL AlejandroAlvarezMelucciDCL added no QA needed Used to tag pull requests that does not require QA validation no review Used when no review is needed do not merge feature a new feature labels Sep 17, 2024
@pravusjif pravusjif removed no QA needed Used to tag pull requests that does not require QA validation do not merge no review Used when no review is needed labels Sep 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants