roavatar-renderer 1.7.2 → 1.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -42,6 +42,8 @@ Basic example on how to load an avatar using OutfitRenderer (to make it simpler)
42
42
  RBXRenderer.setBackgroundColor( 0xbbbbbb )
43
43
  RBXRenderer.setRendererSize(1000,500)
44
44
  RBXRenderer.setBackgroundTransparent(false)
45
+ //scene customization
46
+ RBXRenderer.firstScene.wellLitDirectionalLightIntensity *= 2.5 //recommended
45
47
  //add renderer to document
46
48
  document.body.appendChild(RBXRenderer.getRendererElement())
47
49
 
package/dist/index.d.ts CHANGED
@@ -3477,7 +3477,6 @@ export declare class RBXRenderer {
3477
3477
  static renderer?: THREE.WebGLRenderer;
3478
3478
  /**Can be used to disable post processing even when FLAGS.USE_POST_PROCESSING = true */
3479
3479
  static usePostProcessing: boolean;
3480
- static n8aoPass: N8AOPostPass | undefined;
3481
3480
  static resolution: [number, number];
3482
3481
  static backgroundColor: THREE.ColorRepresentation;
3483
3482
  /**@deprecated Use backgroundColor instead */
@@ -3589,6 +3588,7 @@ export declare class RBXRendererScene {
3589
3588
  controls: OrbitControls | undefined;
3590
3589
  shouldAnimate: boolean;
3591
3590
  destroyed: boolean;
3591
+ n8aoPass: N8AOPostPass | undefined;
3592
3592
  effectComposer: EffectComposer | undefined;
3593
3593
  scissor?: [number, number, number, number];
3594
3594
  viewport?: [number, number, number, number];
package/dist/index.js CHANGED
@@ -32226,7 +32226,7 @@ const FLAGS = {
32226
32226
  LAYERED_CLOTHING_COOLDOWN: 0.25,
32227
32227
  GET_WORKER_FUNC: DefaultGetWorkerFunc,
32228
32228
  RBF_PATCH_COUNT: 300,
32229
- //amount of "patches" that are used for layered clothing, multiple verts share the same patch
32229
+ //amount of "deformation patches" that are used for layered clothing, multiple verts share the same deformation patch, layered clothing usually has (3000 vertices)
32230
32230
  RBF_PATCH_DETAIL_SAMPLES: 32,
32231
32231
  //amount of nearby vertices each patch samples from
32232
32232
  RBF_PATCH_SHAPE_SAMPLES: 32,
@@ -47490,7 +47490,11 @@ class MaterialDesc {
47490
47490
  }
47491
47491
  fromMeshPart(child) {
47492
47492
  let affectedByHumanoid = isAffectedByHumanoid(child);
47493
- const meshPartTexture = child.Prop("TextureID");
47493
+ let meshPartTexture = child.PropOrDefault("TextureID", void 0);
47494
+ if (!meshPartTexture) {
47495
+ const textureContent = child.PropOrDefault("TextureContent", void 0);
47496
+ meshPartTexture = textureContent?.uri || "";
47497
+ }
47494
47498
  const surfaceAppearance = child.FindLastChildOfClass("SurfaceAppearance");
47495
47499
  let surfaceAppearanceAlphaMode = AlphaMode.Overlay;
47496
47500
  if (surfaceAppearance) {
@@ -48122,7 +48126,6 @@ class ObjectDesc extends RenderDesc {
48122
48126
  threeMesh.material = threeMaterial;
48123
48127
  threeMesh.receiveShadow = true;
48124
48128
  threeMaterial.needsUpdate = true;
48125
- threeMesh.visible = threeMaterial.visible;
48126
48129
  this.results = [threeMesh];
48127
48130
  this.originalScale = threeMesh.scale.clone();
48128
48131
  if (!this.meshDesc.scaleIsRelative) {
@@ -60781,6 +60784,7 @@ class RBXRendererScene {
60781
60784
  shouldAnimate = true;
60782
60785
  destroyed = false;
60783
60786
  //renderer
60787
+ n8aoPass = void 0;
60784
60788
  effectComposer;
60785
60789
  //viewport
60786
60790
  scissor;
@@ -60842,6 +60846,9 @@ class RBXRendererScene {
60842
60846
  disposeMesh(this.scene, this.shadowPlane);
60843
60847
  this.shadowPlane = void 0;
60844
60848
  }
60849
+ if (this.effectComposer) {
60850
+ this.effectComposer.dispose();
60851
+ }
60845
60852
  }
60846
60853
  /**
60847
60854
  * Checks that renderDescs for provided instances are compiled, ignores instances that shouldn't be compiled or haven't been added
@@ -61030,7 +61037,6 @@ class RBXRenderer {
61030
61037
  static renderer;
61031
61038
  /**Can be used to disable post processing even when FLAGS.USE_POST_PROCESSING = true */
61032
61039
  static usePostProcessing = true;
61033
- static n8aoPass = void 0;
61034
61040
  static resolution = [420, 420];
61035
61041
  static backgroundColor = 2829619;
61036
61042
  /**@deprecated Use backgroundColor instead */
@@ -61468,7 +61474,7 @@ class RBXRenderer {
61468
61474
  renderScene.effectComposer.addPass(new RenderPass(renderScene.scene, renderScene.camera));
61469
61475
  const n8aoPass = new $87431ee93b037844$export$2489f9981ab0fa82(renderScene.scene, renderScene.camera, FLAGS.POST_PROCESSING_IS_DOUBLE_SIZE ? 840 : 420, FLAGS.POST_PROCESSING_IS_DOUBLE_SIZE ? 840 : 420);
61470
61476
  n8aoPass.configuration.aoRadius = 0.2;
61471
- RBXRenderer.n8aoPass = n8aoPass;
61477
+ renderScene.n8aoPass = n8aoPass;
61472
61478
  renderScene.effectComposer.addPass(n8aoPass);
61473
61479
  renderScene.effectComposer.addPass(new EffectPass(renderScene.camera, new SMAAEffect({
61474
61480
  preset: SMAAPreset.ULTRA
@@ -61478,8 +61484,20 @@ class RBXRenderer {
61478
61484
  mipmapBlur: true,
61479
61485
  luminanceThreshold: 0.95,
61480
61486
  luminanceSmoothing: 0.2,
61481
- intensity: 0.22
61487
+ intensity: 0.5,
61488
+ radius: 0.5
61482
61489
  })));
61490
+ const [width, height] = RBXRenderer.resolution;
61491
+ if (FLAGS.POST_PROCESSING_IS_DOUBLE_SIZE) {
61492
+ renderScene.n8aoPass.setSize(width * 2, height * 2);
61493
+ } else {
61494
+ renderScene.n8aoPass.setSize(width, height);
61495
+ }
61496
+ if (FLAGS.POST_PROCESSING_IS_DOUBLE_SIZE) {
61497
+ renderScene.effectComposer.setSize(width * 2, height * 2, false);
61498
+ } else {
61499
+ renderScene.effectComposer.setSize(width, height, false);
61500
+ }
61483
61501
  }
61484
61502
  /**Removes an instance from the renderer */
61485
61503
  static removeInstance(instance, renderScene = RBXRenderer.firstScene) {
@@ -61594,14 +61612,14 @@ class RBXRenderer {
61594
61612
  RBXRenderer.canvasContainer.style.width = `${RBXRenderer.resolution[0]}px`;
61595
61613
  RBXRenderer.canvasContainer.style.height = `${RBXRenderer.resolution[1]}px`;
61596
61614
  RBXRenderer.renderer.setSize(width, height);
61597
- if (RBXRenderer.n8aoPass) {
61598
- if (FLAGS.POST_PROCESSING_IS_DOUBLE_SIZE) {
61599
- RBXRenderer.n8aoPass.setSize(width * 2, height * 2);
61600
- } else {
61601
- RBXRenderer.n8aoPass.setSize(width, height);
61602
- }
61603
- }
61604
61615
  for (const renderScene of this.scenes) {
61616
+ if (renderScene.n8aoPass) {
61617
+ if (FLAGS.POST_PROCESSING_IS_DOUBLE_SIZE) {
61618
+ renderScene.n8aoPass.setSize(width * 2, height * 2);
61619
+ } else {
61620
+ renderScene.n8aoPass.setSize(width, height);
61621
+ }
61622
+ }
61605
61623
  if (renderScene.effectComposer) {
61606
61624
  if (FLAGS.POST_PROCESSING_IS_DOUBLE_SIZE) {
61607
61625
  renderScene.effectComposer.setSize(width * 2, height * 2, false);
@@ -62501,6 +62519,8 @@ class BackgroundRenderer {
62501
62519
  this.ambientLight.color = new Color().setRGB(...color2.toArray(), SRGBColorSpace);
62502
62520
  this.ambientLight.intensity = 1 * (1 - targetTransparency);
62503
62521
  this.renderScene.scene.add(this.ambientLight);
62522
+ } else {
62523
+ this.renderScene.scene.remove(this.ambientLight);
62504
62524
  }
62505
62525
  }
62506
62526
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "roavatar-renderer",
3
- "version": "1.7.2",
3
+ "version": "1.7.4",
4
4
  "description": "A renderer for Roblox avatars, used by the RoAvatar extension.",
5
5
  "author": "steinan",
6
6
  "type": "module",