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: dynamic lights #3113

Merged
merged 18 commits into from
Feb 6, 2025
Merged

feat: dynamic lights #3113

merged 18 commits into from
Feb 6, 2025

Conversation

AlejandroAlvarezMelucciDCL
Copy link
Collaborator

@AlejandroAlvarezMelucciDCL AlejandroAlvarezMelucciDCL commented Jan 13, 2025

Related PRs
Protocol PR: decentraland/protocol#234
SDK PR: decentraland/js-sdk-toolchain#1049

QA TEST STEPS

  1. Download this test scene and decompress it somewhere
  2. Enter the scene root folder with a terminal/command and run npm i and then npm run start
  3. Close the Explorer that auto-opened. Leave the scene running in the console/terminal.
  4. Download the build from this PR and connect it to the running scene using the console command according to your OS
  5. The client should open and the scene should be shown
  6. The test scene has several places to test different conditions and behaviors:

RedGreen cube

image

  • Starting basic test, just 2 spot lights one red, one green, lighting a PBR cube

The cornell-boxes

image

  • The one on the left is made with PBR materials and everything inside uses PBR as well. PBR is the only type of material that support shadows and lights in DCL.
  • The one on the right is made with Basic (or Unlit) materials, almost everything inside uses Basic as well, except for the spheres, this is to prove that there is in fact a light inside the box and that unlit materials are not affected.
  • Each Box has it's control panel at the entrance. Play around with the buttons and see the tooltips to understand what they do.

DarkRoom

  • Outside there's a white point light where you can walk around and see how the shadow behaves
  • This is the only SOFT shadow in the scene:

Hard shadow:

Soft shadow:

  • The green wall is a walk-through door
  • This room intends to be pitch black inside but due to current limitations this is not possible
  • The control panel inside just toggles the point light inside

The Stage

image

  • The control panel affects the 3 lights
  • The 2 side lights work together
  • The 3d light that points straight to the stage center is the only light in the scene set to use shadow texture mask. There's a button in the stage control panel that cycles through no mask => bat symbol => window frame

Disclaimer: Some tooltips might have typos or might not get properly updated, that's a scene code bug not related to Dynamic Lights 😅

@AlejandroAlvarezMelucciDCL AlejandroAlvarezMelucciDCL added force-build Used to trigger a build on draft PR and removed force-build Used to trigger a build on draft PR labels Jan 16, 2025
@AlejandroAlvarezMelucciDCL AlejandroAlvarezMelucciDCL added the force-build Used to trigger a build on draft PR label Jan 21, 2025
…o avoid being computed as TextureMove tweens.
# Conflicts:
#	Explorer/Assets/AddressableAssetsData/AssetGroups/Essentials.asset
#	Explorer/Assets/DCL/PerformanceAndDiagnostics/Diagnostics/ReportsHandling/ReportCategory.cs
#	Explorer/Assets/DCL/SDKComponents/Tween/Systems/TweenUpdaterSystem.cs
#	scripts/package-lock.json
#	scripts/package.json
@AlejandroAlvarezMelucciDCL AlejandroAlvarezMelucciDCL added force-build Used to trigger a build on draft PR and removed force-build Used to trigger a build on draft PR labels Jan 24, 2025
@AlejandroAlvarezMelucciDCL AlejandroAlvarezMelucciDCL marked this pull request as ready for review January 24, 2025 20:42
@AlejandroAlvarezMelucciDCL AlejandroAlvarezMelucciDCL requested a review from a team January 24, 2025 20:42
@AlejandroAlvarezMelucciDCL AlejandroAlvarezMelucciDCL removed the force-build Used to trigger a build on draft PR label Jan 31, 2025
# Conflicts:
#	Explorer/Assets/AddressableAssetsData/AssetGroups/Essentials.asset
#	Explorer/Assets/DCL/PluginSystem/DCL.Plugins.asmdef
#	Explorer/Assets/DCL/RealmNavigation/Container/RealmNavigationContainer.cs.meta
#	Explorer/Assets/Protocol/DecentralandProtocol/LightSource.gen.cs.meta
#	Explorer/Assets/Protocol/DecentralandProtocol/SocialServiceV3.gen.cs.meta
#	scripts/package-lock.json
#	scripts/package.json
Copy link

@DafGreco DafGreco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lights checked on both platforms ! ✅

Windows check :

  • Redgreen cube
    image

  • The cornell-boxes

03.02.2025_08.07.24_REC.mp4
  • DarkRoom
    image

  • The stage
    image

Sanity check made on Windows :

  • Chat interactions
  • Skybox functionality
  • Emotes
  • Teleport ( Dollhouse , the inn and metadynelabs)
  • Map
  • Camera functionality
  • Gallery

Macos check

  • Redgreen cube
    image

  • The cornell-boxes
    image

  • DarkRoom
    image

  • The stage
    image

Sanity check made on macos :

  • Backpack
  • Emotes
  • Teleport (Dollhouse, the inn , metadynelabs)
  • Camera functionality
  • Gallery
  • Notifications
  • Skybox functionality

# Conflicts:
#	Explorer/Assets/DCL/PerformanceAndDiagnostics/Diagnostics/ReportsHandling/ReportCategory.cs
@AlejandroAlvarezMelucciDCL AlejandroAlvarezMelucciDCL added the clean-build Used to trigger clean build on PR label Feb 6, 2025
@AlejandroAlvarezMelucciDCL AlejandroAlvarezMelucciDCL merged commit 037da1b into dev Feb 6, 2025
10 of 13 checks passed
@AlejandroAlvarezMelucciDCL AlejandroAlvarezMelucciDCL deleted the feat/dynamic-lights branch February 6, 2025 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clean-build Used to trigger clean build on PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants