@needle-tools/engine 3.11.1-beta → 3.11.3-beta

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/needle-engine.js +4029 -3975
  3. package/dist/needle-engine.light.js +3893 -3839
  4. package/dist/needle-engine.light.min.js +120 -118
  5. package/dist/needle-engine.light.umd.cjs +117 -115
  6. package/dist/needle-engine.min.js +121 -119
  7. package/dist/needle-engine.umd.cjs +111 -109
  8. package/lib/engine/engine_element.js +5 -2
  9. package/lib/engine/engine_element.js.map +1 -1
  10. package/lib/engine/engine_patcher.js +2 -1
  11. package/lib/engine/engine_patcher.js.map +1 -1
  12. package/lib/engine/extensions/NEEDLE_progressive.js +3 -3
  13. package/lib/engine/extensions/NEEDLE_progressive.js.map +1 -1
  14. package/lib/engine-components/Animator.d.ts +3 -0
  15. package/lib/engine-components/Animator.js +7 -0
  16. package/lib/engine-components/Animator.js.map +1 -1
  17. package/lib/engine-components/AnimatorController.d.ts +4 -2
  18. package/lib/engine-components/AnimatorController.js +6 -1
  19. package/lib/engine-components/AnimatorController.js.map +1 -1
  20. package/lib/engine-components/CharacterController.d.ts +11 -3
  21. package/lib/engine-components/CharacterController.js +38 -18
  22. package/lib/engine-components/CharacterController.js.map +1 -1
  23. package/lib/engine-components/ParticleSystem.d.ts +2 -0
  24. package/lib/engine-components/ParticleSystem.js +19 -6
  25. package/lib/engine-components/ParticleSystem.js.map +1 -1
  26. package/lib/engine-components/SceneSwitcher.js +6 -4
  27. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  28. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +4 -4
  29. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js.map +1 -1
  30. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +20 -6
  31. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
  32. package/lib/engine-components/export/usdz/utils/quicklook.js +2 -2
  33. package/lib/engine-components/export/usdz/utils/quicklook.js.map +1 -1
  34. package/package.json +2 -2
  35. package/src/engine/engine_element.ts +5 -2
  36. package/src/engine/engine_patcher.ts +2 -1
  37. package/src/engine/extensions/NEEDLE_progressive.ts +2 -2
  38. package/src/engine-components/Animator.ts +7 -0
  39. package/src/engine-components/AnimatorController.ts +9 -3
  40. package/src/engine-components/CharacterController.ts +47 -20
  41. package/src/engine-components/ParticleSystem.ts +20 -6
  42. package/src/engine-components/SceneSwitcher.ts +5 -3
  43. package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +4 -4
  44. package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +21 -7
  45. package/src/engine-components/export/usdz/utils/quicklook.ts +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"BehaviourComponents.js","sourceRoot":"","sources":["../../../../../../src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BehaviourComponents.js","sourceRoot":"","sources":["../../../../../../src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export function ensureQuicklookLinkIsCreated(context) {
2
- const existingLink = context.domElement.querySelector("link[rel='ar']");
2
+ const existingLink = context.domElement.shadowRoot.querySelector("link[rel='ar']");
3
3
  if (existingLink)
4
4
  return existingLink;
5
5
  /*
@@ -30,7 +30,7 @@ export function ensureQuicklookLinkIsCreated(context) {
30
30
  img.id = "button";
31
31
  // img.src = "files/arkit.png";
32
32
  link.appendChild(img);
33
- context.domElement.appendChild(div);
33
+ context.domElement.shadowRoot.appendChild(div);
34
34
  return link;
35
35
  }
36
36
  //# sourceMappingURL=quicklook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quicklook.js","sourceRoot":"","sources":["../../../../../src/engine-components/export/usdz/utils/quicklook.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,4BAA4B,CAAC,OAAgB;IACzD,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACxE,IAAG,YAAY;QAAE,OAAO,YAAiC,CAAC;IAE1D;;;;;;;;MAQE;IAEF,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAEhC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,GAAG,YAAY,CAAC;IACzB,MAAM,CAAC,SAAS,GAAG,mBAAmB,CAAC;IACvC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,GAAG,kBAAkB,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC5B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;IAChB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IACf,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEtB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC;IAClB,+BAA+B;IAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEtB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,IAAyB,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"quicklook.js","sourceRoot":"","sources":["../../../../../src/engine-components/export/usdz/utils/quicklook.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,4BAA4B,CAAC,OAAgB;IACzD,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,UAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACpF,IAAI,YAAY;QAAE,OAAO,YAAiC,CAAC;IAE3D;;;;;;;;MAQE;IAEF,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAEhC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,GAAG,YAAY,CAAC;IACzB,MAAM,CAAC,SAAS,GAAG,mBAAmB,CAAC;IACvC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,GAAG,kBAAkB,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC5B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;IAChB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IACf,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEtB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC;IAClB,+BAA+B;IAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEtB,OAAO,CAAC,UAAU,CAAC,UAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAChD,OAAO,IAAyB,CAAC;AACrC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "3.11.1-beta",
3
+ "version": "3.11.3-beta",
4
4
  "description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in",
5
5
  "main": "dist/needle-engine.umd.cjs",
6
6
  "type": "module",
@@ -75,7 +75,7 @@
75
75
  "@babel/runtime": "^7.16.0",
76
76
  "@luncheon/esbuild-plugin-gzip": "^0.1.0",
77
77
  "@needle-tools/helper": "^0.10.1",
78
- "@needle-tools/needle-component-compiler": "1.9.3",
78
+ "@needle-tools/needle-component-compiler": "^1.10.0",
79
79
  "@types/three": "0.154.0",
80
80
  "@typescript-eslint/eslint-plugin": "^6.2.0",
81
81
  "@typescript-eslint/parser": "^6.2.0",
@@ -118,7 +118,9 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
118
118
  touch-action: none;
119
119
  }
120
120
  :host .content {
121
- position: fixed;
121
+ position: relative;
122
+ width: 100%;
123
+ height: 100%;
122
124
  visibility: visible;
123
125
  z-index: 500; /* < must be less than the webxr buttons element */
124
126
  pointer-events: none;
@@ -384,7 +386,8 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
384
386
  this.dispatchEvent(new CustomEvent("loadfinished", {
385
387
  detail: {
386
388
  context: this._context,
387
- src: alias
389
+ src: alias,
390
+ loadedFiles: loadedFiles,
388
391
  }
389
392
  }));
390
393
  }
@@ -58,7 +58,8 @@ export function addPatch<T extends object>(prototype: T, fieldName: string, befo
58
58
 
59
59
  // TODO: we probably want to turn this into a symbol to prevent anyone from overriding it
60
60
  // But when we need to store the symbol per prototype to allow e.g. material disposing to iterate those and dispose all
61
- const backingField = Symbol(fieldName + "__needle");// Symbol(fieldName);// + " (patched)";
61
+ // TODO: making symbols here breaks e.g. progressive textures because they iterate on the property keys
62
+ const backingField = fieldName + "___needle";// Symbol(fieldName);// + " (patched)";
62
63
 
63
64
  internalAddPatch(prototype, fieldName, beforeCallback, afterCallback);
64
65
 
@@ -45,7 +45,7 @@ export class NEEDLE_progressive implements GLTFLoaderPlugin {
45
45
 
46
46
  for (const slot of Object.keys(material)) {
47
47
  const val = material[slot];
48
- if (val?.isTexture) {
48
+ if (val instanceof Texture) {
49
49
  const task = this.assignTextureLODForSlot(context, source, material, level, slot, val);
50
50
  promises.push(task);
51
51
  }
@@ -55,7 +55,7 @@ export class NEEDLE_progressive implements GLTFLoaderPlugin {
55
55
  // iterate uniforms
56
56
  for (const slot of Object.keys(material.uniforms)) {
57
57
  const val = material.uniforms[slot].value;
58
- if (val?.isTexture) {
58
+ if (val instanceof Texture) {
59
59
  const task = this.assignTextureLODForSlot(context, source, material, level, slot, val);
60
60
  promises.push(task);
61
61
  }
@@ -113,6 +113,13 @@ export class Animator extends Behaviour {
113
113
  this.runtimeAnimatorController?.resetTrigger(name);
114
114
  }
115
115
 
116
+ /**@deprecated use getTrigger */
117
+ GetTrigger(name: string | number) { this.getTrigger(name); }
118
+ getTrigger(name: string | number) {
119
+ if (debug) console.log("GetTrigger", name);
120
+ this.runtimeAnimatorController?.getTrigger(name);
121
+ }
122
+
116
123
  /**@deprecated use isInTransition */
117
124
  IsInTransition() { return this.isInTransition(); }
118
125
  isInTransition(): boolean {
@@ -79,6 +79,11 @@ export class AnimatorController {
79
79
  return this.model?.parameters?.filter(p => p[key] === name).forEach(p => p.value = false);
80
80
  }
81
81
 
82
+ getTrigger(name: string | number): boolean {
83
+ const key = typeof name === "string" ? "name" : "hash";
84
+ return this.model?.parameters?.find(p => p[key] === name)?.value as boolean ?? false;
85
+ }
86
+
82
87
  isInTransition(): boolean {
83
88
  return this._activeStates.length > 1;
84
89
  }
@@ -88,13 +93,13 @@ export class AnimatorController {
88
93
  }
89
94
 
90
95
  /**@deprecated use findState */
91
- FindState(name: string | undefined | null): State | null { return this.findState(name); }
92
- findState(name: string | undefined | null): State | null {
96
+ FindState(name: string | number | undefined | null): State | null { return this.findState(name); }
97
+ findState(name: string | number | undefined | null): State | null {
93
98
  if (!name) return null;
94
99
  if (Array.isArray(this.model.layers)) {
95
100
  for (const layer of this.model.layers) {
96
101
  for (const state of layer.stateMachine.states) {
97
- if (state.name === name) return state;
102
+ if (state.name === name || state.hash == name) return state;
98
103
  }
99
104
  }
100
105
  }
@@ -166,6 +171,7 @@ export class AnimatorController {
166
171
 
167
172
  private _mixer!: AnimationMixer;
168
173
  private _activeState?: State;
174
+ get activeState(): State | undefined { return this._activeState; }
169
175
 
170
176
  constructor(model: AnimatorControllerModel) {
171
177
  this.model = model;
@@ -1,4 +1,4 @@
1
- import { Quaternion, Ray, Vector3 } from "three";
1
+ import { Quaternion, Ray, Vector2, Vector3 } from "three";
2
2
  import { Mathf } from "../engine/engine_math.js";
3
3
  import { serializable } from "../engine/engine_serialization.js";
4
4
  import { Collision } from "../engine/engine_types.js";
@@ -99,6 +99,48 @@ export class CharacterControllerInput extends Behaviour {
99
99
 
100
100
  lookForward: boolean = true;
101
101
 
102
+ awake(){
103
+ this._currentRotation = new Quaternion();
104
+ }
105
+
106
+ update(){
107
+ const input = this.context.input;
108
+ if(input.isKeyPressed("KeyW"))
109
+ this.moveInput.y += 1;
110
+ else if(input.isKeyPressed("KeyS"))
111
+ this.moveInput.y -= 1;
112
+ if(input.isKeyPressed("KeyD"))
113
+ this.lookInput.x += 1;
114
+ else if(input.isKeyPressed("KeyA"))
115
+ this.lookInput.x -= 1;
116
+
117
+ this.jumpInput ||= input.isKeyDown("Space");
118
+ }
119
+
120
+ move(move: Vector2) {
121
+ this.moveInput.add(move);
122
+ }
123
+
124
+ look(look: Vector2) {
125
+ this.lookInput.add(look);
126
+ }
127
+
128
+ jump() {
129
+ this.jumpInput = true;
130
+ }
131
+
132
+ private lookInput: Vector2 = new Vector2(0, 0);
133
+ private moveInput: Vector2 = new Vector2(0, 0);
134
+ private jumpInput: boolean = false;
135
+
136
+ onBeforeRender() {
137
+ this.handleInput(this.moveInput, this.lookInput, this.jumpInput);
138
+
139
+ this.lookInput.set(0, 0);
140
+ this.moveInput.set(0, 0);
141
+ this.jumpInput = false;
142
+ }
143
+
102
144
  private _currentSpeed: Vector3 = new Vector3(0, 0, 0);
103
145
  private _currentAngularSpeed: Vector3 = new Vector3(0, 0, 0);
104
146
 
@@ -106,30 +148,16 @@ export class CharacterControllerInput extends Behaviour {
106
148
  private _jumpCount: number = 0;
107
149
  private _currentRotation!: Quaternion;
108
150
 
109
- awake(){
110
- this._currentRotation = new Quaternion();
111
- }
112
-
113
- update() {
151
+ handleInput (move: Vector2, look: Vector2, jump: boolean) {
114
152
 
115
153
  if (this.controller?.isGrounded) {
116
154
  this._jumpCount = 0;
117
155
  if (this.doubleJumpForce > 0) this.animator?.setBool("doubleJump", false);
118
156
  }
119
157
 
120
- const forward = this.context.input.isKeyPressed("w");
121
- const backward = this.context.input.isKeyPressed("s");
122
- const rotateLeft = this.context.input.isKeyPressed("a");
123
- const rotateRight = this.context.input.isKeyPressed("d");
124
- const jump = this.context.input.isKeyDown(" ");
125
- // if (jumpDown) this._jumpDownTime = this.context.time.time;
126
- // const jumpUp = this.context.input.isKeyUp(" ");
127
-
128
- const step = (forward ? 1 : 0) + (backward ? -1 : 0);
129
- this._currentSpeed.z += step * this.movementSpeed * this.context.time.deltaTime;
158
+ this._currentSpeed.z += move.y * this.movementSpeed * this.context.time.deltaTime;
130
159
 
131
- // if (!this.controller || this.controller.isGrounded)
132
- this.animator?.setBool("running", step != 0);
160
+ this.animator?.setBool("running", move.length() > 0.01);
133
161
  this.animator?.setBool("jumping", this.controller?.isGrounded === true && jump);
134
162
 
135
163
  this._temp.copy(this._currentSpeed);
@@ -137,8 +165,7 @@ export class CharacterControllerInput extends Behaviour {
137
165
  if (this.controller) this.controller.move(this._temp);
138
166
  else this.gameObject.position.add(this._temp);
139
167
 
140
- const rotation = (rotateLeft ? 1 : 0) + (rotateRight ? -1 : 0);
141
- this._currentAngularSpeed.y += Mathf.toRadians(rotation * this.rotationSpeed) * this.context.time.deltaTime;
168
+ this._currentAngularSpeed.y += Mathf.toRadians(-look.x * this.rotationSpeed) * this.context.time.deltaTime;
142
169
  if (this.lookForward && Math.abs(this._currentAngularSpeed.y) < .01) {
143
170
  const forwardVector = this.context.mainCameraComponent!.forward;
144
171
  forwardVector.y = 0;
@@ -901,6 +901,7 @@ export class ParticleSystem extends Behaviour implements IParticleSystem {
901
901
 
902
902
  start() {
903
903
  this.addSubParticleSystems();
904
+ this.updateLayers();
904
905
  }
905
906
 
906
907
  onDestroy(): void {
@@ -959,17 +960,19 @@ export class ParticleSystem extends Behaviour implements IParticleSystem {
959
960
  }
960
961
  }
961
962
 
963
+ private _lastBatchesCount = -1;
962
964
  private onSimulate(dt: number) {
963
965
  if (this._batchSystem) {
966
+ let needsUpdate = this.context.time.frameCount % 60 === 0;
967
+ if(this._lastBatchesCount !== this._batchSystem.batches.length) {
968
+ this._lastBatchesCount = this._batchSystem.batches.length;
969
+ needsUpdate = true;
970
+ }
964
971
  // Updating layers on batches
965
972
  // TODO: figure out a better way to do this
966
973
  // Issue: https://github.com/Alchemist0823/three.quarks/issues/49
967
- if (this.context.time.frameCount % 60 === 0) {
968
- for (let i = 0; i < this._batchSystem.batches.length; i++) {
969
- const batch = this._batchSystem.batches[i];
970
- batch.layers.disableAll();
971
- batch.layers.set(2);
972
- }
974
+ if (needsUpdate) {
975
+ this.updateLayers();
973
976
  }
974
977
  this._batchSystem.update(dt);
975
978
  }
@@ -977,6 +980,17 @@ export class ParticleSystem extends Behaviour implements IParticleSystem {
977
980
  if (this._time > this.duration) this._time = 0;
978
981
  }
979
982
 
983
+ private updateLayers() {
984
+ if (this._batchSystem) {
985
+ for (let i = 0; i < this._batchSystem.batches.length; i++) {
986
+ const batch = this._batchSystem.batches[i];
987
+ batch.layers.disableAll();
988
+ const layer = this.layer;
989
+ batch.layers.mask = 1 << layer;
990
+ }
991
+ }
992
+ }
993
+
980
994
  private lastMaterialVersion: number = -1;
981
995
  private onUpdate() {
982
996
  const mat = this.renderer.getMaterial(this.trails.enabled);
@@ -246,7 +246,7 @@ export class SceneSwitcher extends Behaviour {
246
246
  const reference = AssetReference.getOrCreate(this.sourceId ?? "", index, this.context);
247
247
  return this.switchScene(reference);
248
248
  }
249
- if (scene) index = this.scenes.indexOf(scene);
249
+ if (scene) index = this.scenes?.indexOf(scene);
250
250
  else return couldNotLoadScenePromise;
251
251
  }
252
252
 
@@ -437,8 +437,10 @@ class PreLoadScheduler {
437
437
  }
438
438
 
439
439
  allLoaded(): boolean {
440
- for (const scene of this._switcher.scenes) {
441
- if (scene?.isLoaded() === false) return false;
440
+ if (this._switcher.scenes) {
441
+ for (const scene of this._switcher.scenes) {
442
+ if (scene?.isLoaded() === false) return false;
443
+ }
442
444
  }
443
445
  return true;
444
446
  }
@@ -1183,9 +1183,9 @@ function buildMaterial( material: MeshBasicMaterial, textures, quickLookCompatib
1183
1183
 
1184
1184
  const needsTextureScale = mapType !== 'normal' && (color && (color.r !== 1 || color.g !== 1 || color.b !== 1 || opacity !== 1)) || false;
1185
1185
  const needsNormalScaleAndBias = mapType === 'normal';
1186
- const normalScaleValueString = material instanceof MeshStandardMaterial
1187
- ? (material.normalScale ? material.normalScale.x * 2 : 2).toFixed( PRECISION )
1188
- : "1";
1186
+ const normalScale = material instanceof MeshStandardMaterial ? (material.normalScale ? material.normalScale.x * 2 : 2) : 2;
1187
+ const normalScaleValueString = normalScale.toFixed( PRECISION );
1188
+ const normalBiasString = (-1 * (normalScale / 2)).toFixed( PRECISION );
1189
1189
 
1190
1190
  return `
1191
1191
  ${needsTextureTransform ? `def Shader "Transform2d_${mapType}" (
@@ -1213,7 +1213,7 @@ function buildMaterial( material: MeshBasicMaterial, textures, quickLookCompatib
1213
1213
  ` : `` }
1214
1214
  ${needsNormalScaleAndBias ? `
1215
1215
  float4 inputs:scale = (${normalScaleValueString}, ${normalScaleValueString}, ${normalScaleValueString}, 1)
1216
- float4 inputs:bias = (-1, -1, -1, 0)
1216
+ float4 inputs:bias = (${normalBiasString}, ${normalBiasString}, ${normalBiasString}, 0)
1217
1217
  ` : `` }
1218
1218
  token inputs:wrapS = "${wrapS}"
1219
1219
  token inputs:wrapT = "${wrapT}"
@@ -6,7 +6,7 @@ import { IPointerClickHandler } from "../../../../ui/PointerEvents.js";
6
6
  import { RegisteredAnimationInfo, UsdzAnimation } from "../Animation.js";
7
7
  import { getWorldPosition, getWorldQuaternion, getWorldScale, setWorldPosition, setWorldQuaternion, setWorldScale } from "../../../../../engine/engine_three_utils.js";
8
8
 
9
- import { Object3D, Material, Vector3, Quaternion } from "three";
9
+ import { Object3D, Material, Vector3, Quaternion, Mesh, Group } from "three";
10
10
  import { USDDocument, USDObject } from "../../ThreeUSDZExporter.js";
11
11
 
12
12
  import { BehaviorExtension, UsdzBehaviour } from "./Behaviour.js";
@@ -154,14 +154,27 @@ export class ChangeMaterialOnClick extends Behaviour implements IPointerClickHan
154
154
  @serializable()
155
155
  fadeDuration : number = 0;
156
156
 
157
- private _objectsWithThisMaterial: Renderer[] = [];
157
+ private _objectsWithThisMaterial: Mesh[] = [];
158
158
 
159
159
  awake() {
160
160
  if (this.variantMaterial && this.materialToSwitch) {
161
161
  const renderer = GameObject.findObjectsOfType(Renderer);
162
162
  for (const rend of renderer) {
163
- if (rend.sharedMaterial === this.materialToSwitch) {
164
- this._objectsWithThisMaterial.push(rend);
163
+ for (let i = 0; i < rend.sharedMaterials.length; i++) {
164
+ const mat = rend.sharedMaterials[i];
165
+ if (mat === this.materialToSwitch) {
166
+ if (rend.gameObject instanceof Mesh) {
167
+ this._objectsWithThisMaterial.push(rend.gameObject);
168
+ }
169
+ else if (rend.gameObject instanceof Group) {
170
+ for (const child of rend.gameObject.children) {
171
+ if (child instanceof Mesh && child.material === mat) {
172
+ this._objectsWithThisMaterial.push(child);
173
+ }
174
+ }
175
+ }
176
+ break;
177
+ }
165
178
  }
166
179
  }
167
180
  }
@@ -169,8 +182,9 @@ export class ChangeMaterialOnClick extends Behaviour implements IPointerClickHan
169
182
 
170
183
  onPointerClick() {
171
184
  if (!this.variantMaterial) return;
172
- for (const rend of this._objectsWithThisMaterial) {
173
- rend.sharedMaterial = this.variantMaterial;
185
+ for (let i = 0; i < this._objectsWithThisMaterial.length; i++) {
186
+ const obj = this._objectsWithThisMaterial[i];
187
+ obj.material = this.variantMaterial;
174
188
  }
175
189
  }
176
190
 
@@ -196,7 +210,7 @@ export class ChangeMaterialOnClick extends Behaviour implements IPointerClickHan
196
210
 
197
211
  createBehaviours(_ext: BehaviorExtension, model: USDObject, _context) {
198
212
 
199
- const shouldExport = this._objectsWithThisMaterial.find(o => o.gameObject.uuid === model.uuid);
213
+ const shouldExport = this._objectsWithThisMaterial.find(o => o.uuid === model.uuid);
200
214
  if (shouldExport) {
201
215
  this.targetModels.push(model);
202
216
  }
@@ -2,8 +2,8 @@ import { Context } from "../../../../engine/engine_setup.js";
2
2
 
3
3
 
4
4
  export function ensureQuicklookLinkIsCreated(context: Context) : HTMLAnchorElement {
5
- const existingLink = context.domElement.querySelector("link[rel='ar']");
6
- if(existingLink) return existingLink as HTMLAnchorElement;
5
+ const existingLink = context.domElement.shadowRoot!.querySelector("link[rel='ar']");
6
+ if (existingLink) return existingLink as HTMLAnchorElement;
7
7
 
8
8
  /*
9
9
  generating this:
@@ -38,6 +38,6 @@ export function ensureQuicklookLinkIsCreated(context: Context) : HTMLAnchorEleme
38
38
  // img.src = "files/arkit.png";
39
39
  link.appendChild(img);
40
40
 
41
- context.domElement.appendChild(div);
41
+ context.domElement.shadowRoot!.appendChild(div);
42
42
  return link as HTMLAnchorElement;
43
43
  }