|
9 | 9 | "name": "Raycaster3D", |
10 | 10 | "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/8419f46b76bce482c14b4c03b4141a64d457e4cdc92686f3470381f5d2694abd_ray-start-arrow.svg", |
11 | 11 | "shortDescription": "Find 3D objects that cross a line.", |
12 | | - "version": "0.1.6", |
| 12 | + "version": "0.1.7", |
13 | 13 | "description": [ |
14 | 14 | "It can be useful to:", |
15 | 15 | "- Find 3D objects under the pointer", |
|
201 | 201 | " _doRecast(objectsLists, objects) {", |
202 | 202 | " const raycastResults = this.raycastResults;", |
203 | 203 | " let distanceMin = Number.MAX_VALUE;", |
| 204 | + " /** @type {gdjs.RuntimeObject | null} */", |
204 | 205 | " let nearestObject = null;", |
| 206 | + " /** @type {THREE.Object3D | null} */", |
| 207 | + " let nearestThreeObject = null;", |
205 | 208 | " for (const object of objects) {", |
206 | 209 | " raycastResults.length = 0;", |
207 | 210 | " const threeObject = object.get3DRendererObject();", |
|
218 | 221 | " this.lastPositionY = -raycastResult.point.y;", |
219 | 222 | " this.lastPositionZ = raycastResult.point.z;", |
220 | 223 | " this.lastNormal.copy(raycastResult.normal);", |
| 224 | + " nearestThreeObject = raycastResult.object;", |
221 | 225 | " }", |
222 | 226 | " }", |
223 | 227 | " if (!nearestObject) {", |
224 | 228 | " return false;", |
225 | 229 | " }", |
226 | | - " this.lastNormal.transformDirection(nearestObject.get3DRendererObject().matrixWorld);", |
| 230 | + " this.lastNormal.transformDirection(nearestThreeObject.matrixWorld);", |
227 | 231 | " this.lastNormal.y = -this.lastNormal.y;", |
228 | 232 | " raycastResults.length = 0;", |
229 | 233 | " gdjs.evtTools.object.pickOnly(", |
|
0 commit comments