David Catuhe 5 年之前
父節點
當前提交
60ad1f161c
共有 51 個文件被更改,包括 3484 次插入938 次删除
  1. 12 0
      dist/preview release/babylon.d.ts
  2. 1 1
      dist/preview release/babylon.js
  3. 24 0
      dist/preview release/babylon.module.d.ts
  4. 15 2
      dist/preview release/documentation.d.ts
  5. 2 2
      dist/preview release/gui/babylon.gui.min.js
  6. 8 7
      dist/preview release/inspector/babylon.inspector.bundle.js
  7. 2 2
      dist/preview release/loaders/babylon.glTF1FileLoader.min.js
  8. 1 1
      dist/preview release/loaders/babylon.glTF2FileLoader.min.js
  9. 2 2
      dist/preview release/loaders/babylon.glTFFileLoader.min.js
  10. 1 1
      dist/preview release/loaders/babylon.objFileLoader.min.js
  11. 1 1
      dist/preview release/loaders/babylon.stlFileLoader.min.js
  12. 2 2
      dist/preview release/loaders/babylonjs.loaders.min.js
  13. 1 1
      dist/preview release/materialsLibrary/babylon.cellMaterial.min.js
  14. 1 1
      dist/preview release/materialsLibrary/babylon.customMaterial.min.js
  15. 1 1
      dist/preview release/materialsLibrary/babylon.fireMaterial.min.js
  16. 1 1
      dist/preview release/materialsLibrary/babylon.furMaterial.min.js
  17. 1 1
      dist/preview release/materialsLibrary/babylon.gradientMaterial.min.js
  18. 1 1
      dist/preview release/materialsLibrary/babylon.gridMaterial.min.js
  19. 1 1
      dist/preview release/materialsLibrary/babylon.lavaMaterial.min.js
  20. 1 1
      dist/preview release/materialsLibrary/babylon.mixMaterial.min.js
  21. 1 1
      dist/preview release/materialsLibrary/babylon.normalMaterial.min.js
  22. 1 1
      dist/preview release/materialsLibrary/babylon.shadowOnlyMaterial.min.js
  23. 1 1
      dist/preview release/materialsLibrary/babylon.simpleMaterial.min.js
  24. 1 1
      dist/preview release/materialsLibrary/babylon.skyMaterial.min.js
  25. 1 1
      dist/preview release/materialsLibrary/babylon.terrainMaterial.min.js
  26. 1 1
      dist/preview release/materialsLibrary/babylon.triPlanarMaterial.min.js
  27. 1 1
      dist/preview release/materialsLibrary/babylon.waterMaterial.min.js
  28. 1 1
      dist/preview release/materialsLibrary/babylonjs.materials.min.js
  29. 7 7
      dist/preview release/nodeEditor/babylon.nodeEditor.js
  30. 1 1
      dist/preview release/packagesSizeBaseLine.json
  31. 1 1
      dist/preview release/postProcessesLibrary/babylon.asciiArtPostProcess.min.js
  32. 1 1
      dist/preview release/postProcessesLibrary/babylon.digitalRainPostProcess.min.js
  33. 1 1
      dist/preview release/postProcessesLibrary/babylonjs.postProcess.min.js
  34. 1 1
      dist/preview release/proceduralTexturesLibrary/babylon.brickProceduralTexture.min.js
  35. 1 1
      dist/preview release/proceduralTexturesLibrary/babylon.cloudProceduralTexture.min.js
  36. 1 1
      dist/preview release/proceduralTexturesLibrary/babylon.fireProceduralTexture.min.js
  37. 1 1
      dist/preview release/proceduralTexturesLibrary/babylon.grassProceduralTexture.min.js
  38. 1 1
      dist/preview release/proceduralTexturesLibrary/babylon.marbleProceduralTexture.min.js
  39. 1 1
      dist/preview release/proceduralTexturesLibrary/babylon.normalMapProceduralTexture.min.js
  40. 1 1
      dist/preview release/proceduralTexturesLibrary/babylon.perlinNoiseProceduralTexture.min.js
  41. 1 1
      dist/preview release/proceduralTexturesLibrary/babylon.roadProceduralTexture.min.js
  42. 1 1
      dist/preview release/proceduralTexturesLibrary/babylon.starfieldProceduralTexture.min.js
  43. 1 1
      dist/preview release/proceduralTexturesLibrary/babylon.woodProceduralTexture.min.js
  44. 1 1
      dist/preview release/proceduralTexturesLibrary/babylonjs.proceduralTextures.min.js
  45. 1 15
      dist/preview release/serializers/babylon.glTF2Serializer.min.js
  46. 1 1
      dist/preview release/serializers/babylon.objSerializer.min.js
  47. 1 15
      dist/preview release/serializers/babylonjs.serializers.min.js
  48. 24 0
      dist/preview release/viewer/babylon.module.d.ts
  49. 2 2
      dist/preview release/viewer/babylon.viewer.js
  50. 3341 838
      dist/preview release/viewer/babylon.viewer.max.js
  51. 5 8
      src/Sprites/spriteManager.ts

+ 12 - 0
dist/preview release/babylon.d.ts

@@ -10024,6 +10024,7 @@ declare module BABYLON {
         private _spriteMap;
         /** True when packed cell data from JSON file is ready*/
         private _packedAndReady;
+        private _textureContent;
         /**
         * An event triggered when the manager is disposed.
         */
@@ -10079,6 +10080,7 @@ declare module BABYLON {
         name: string, imgUrl: string, capacity: number, cellSize: any, scene: Scene, epsilon?: number, samplingMode?: number, fromPacked?: boolean, spriteJSON?: any | null);
         private _makePacked;
         private _appendSpriteVertex;
+        private _checkTextureAlpha;
         /**
          * Intersects the sprites with a ray
          * @param ray defines the ray to intersect with
@@ -18073,6 +18075,16 @@ declare module BABYLON {
         animations: Animation[];
         /** Gets or sets a boolean indicating if the sprite can be picked */
         isPickable: boolean;
+        /** Gets or sets a boolean indicating that sprite texture alpha will be used for precise picking (false by default) */
+        useAlphaForPicking: boolean;
+        /** @hidden */
+        _xOffset: number;
+        /** @hidden */
+        _yOffset: number;
+        /** @hidden */
+        _xSize: number;
+        /** @hidden */
+        _ySize: number;
         /**
          * Gets or sets the associated action manager
          */

文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/babylon.js


+ 24 - 0
dist/preview release/babylon.module.d.ts

@@ -10214,6 +10214,7 @@ declare module "babylonjs/Sprites/spriteManager" {
         private _spriteMap;
         /** True when packed cell data from JSON file is ready*/
         private _packedAndReady;
+        private _textureContent;
         /**
         * An event triggered when the manager is disposed.
         */
@@ -10269,6 +10270,7 @@ declare module "babylonjs/Sprites/spriteManager" {
         name: string, imgUrl: string, capacity: number, cellSize: any, scene: Scene, epsilon?: number, samplingMode?: number, fromPacked?: boolean, spriteJSON?: any | null);
         private _makePacked;
         private _appendSpriteVertex;
+        private _checkTextureAlpha;
         /**
          * Intersects the sprites with a ray
          * @param ray defines the ray to intersect with
@@ -18564,6 +18566,16 @@ declare module "babylonjs/Sprites/sprite" {
         animations: Animation[];
         /** Gets or sets a boolean indicating if the sprite can be picked */
         isPickable: boolean;
+        /** Gets or sets a boolean indicating that sprite texture alpha will be used for precise picking (false by default) */
+        useAlphaForPicking: boolean;
+        /** @hidden */
+        _xOffset: number;
+        /** @hidden */
+        _yOffset: number;
+        /** @hidden */
+        _xSize: number;
+        /** @hidden */
+        _ySize: number;
         /**
          * Gets or sets the associated action manager
          */
@@ -84318,6 +84330,7 @@ declare module BABYLON {
         private _spriteMap;
         /** True when packed cell data from JSON file is ready*/
         private _packedAndReady;
+        private _textureContent;
         /**
         * An event triggered when the manager is disposed.
         */
@@ -84373,6 +84386,7 @@ declare module BABYLON {
         name: string, imgUrl: string, capacity: number, cellSize: any, scene: Scene, epsilon?: number, samplingMode?: number, fromPacked?: boolean, spriteJSON?: any | null);
         private _makePacked;
         private _appendSpriteVertex;
+        private _checkTextureAlpha;
         /**
          * Intersects the sprites with a ray
          * @param ray defines the ray to intersect with
@@ -92367,6 +92381,16 @@ declare module BABYLON {
         animations: Animation[];
         /** Gets or sets a boolean indicating if the sprite can be picked */
         isPickable: boolean;
+        /** Gets or sets a boolean indicating that sprite texture alpha will be used for precise picking (false by default) */
+        useAlphaForPicking: boolean;
+        /** @hidden */
+        _xOffset: number;
+        /** @hidden */
+        _yOffset: number;
+        /** @hidden */
+        _xSize: number;
+        /** @hidden */
+        _ySize: number;
         /**
          * Gets or sets the associated action manager
          */

+ 15 - 2
dist/preview release/documentation.d.ts

@@ -10024,6 +10024,7 @@ declare module BABYLON {
         private _spriteMap;
         /** True when packed cell data from JSON file is ready*/
         private _packedAndReady;
+        private _textureContent;
         /**
         * An event triggered when the manager is disposed.
         */
@@ -10079,6 +10080,7 @@ declare module BABYLON {
         name: string, imgUrl: string, capacity: number, cellSize: any, scene: Scene, epsilon?: number, samplingMode?: number, fromPacked?: boolean, spriteJSON?: any | null);
         private _makePacked;
         private _appendSpriteVertex;
+        private _checkTextureAlpha;
         /**
          * Intersects the sprites with a ray
          * @param ray defines the ray to intersect with
@@ -18073,6 +18075,16 @@ declare module BABYLON {
         animations: Animation[];
         /** Gets or sets a boolean indicating if the sprite can be picked */
         isPickable: boolean;
+        /** Gets or sets a boolean indicating that sprite texture alpha will be used for precise picking (false by default) */
+        useAlphaForPicking: boolean;
+        /** @hidden */
+        _xOffset: number;
+        /** @hidden */
+        _yOffset: number;
+        /** @hidden */
+        _xSize: number;
+        /** @hidden */
+        _ySize: number;
         /**
          * Gets or sets the associated action manager
          */
@@ -48010,6 +48022,7 @@ declare module BABYLON {
         private readonly INVALID_HANDLE;
         getHardwareScalingLevel(): number;
         constructor();
+        dispose(): void;
         /**
          * Can be used to override the current requestAnimationFrame requester.
          * @hidden
@@ -48156,7 +48169,7 @@ declare module BABYLON {
         /**
          * Usually called from Texture.ts.
          * Passed information to create a WebGLTexture
-         * @param urlArg defines a value which contains one of the following:
+         * @param url defines a value which contains one of the following:
          * * A conventional http URL, e.g. 'http://...' or 'file://...'
          * * A base64 string of in-line texture data, e.g. 'data:image/jpg;base64,/...'
          * * An indicator that data being passed using the buffer parameter, e.g. 'data:mytexture.jpg'
@@ -48173,7 +48186,7 @@ declare module BABYLON {
          * @param mimeType defines an optional mime type
          * @returns a InternalTexture for assignment back into BABYLON.Texture
          */
-        createTexture(urlArg: Nullable<string>, noMipmap: boolean, invertY: boolean, scene: Nullable<ISceneLike>, samplingMode?: number, onLoad?: Nullable<() => void>, onError?: Nullable<(message: string, exception: any) => void>, buffer?: Nullable<string | ArrayBuffer | ArrayBufferView | HTMLImageElement | Blob | ImageBitmap>, fallback?: Nullable<InternalTexture>, format?: Nullable<number>, forcedExtension?: Nullable<string>, mimeType?: string): InternalTexture;
+        createTexture(url: Nullable<string>, noMipmap: boolean, invertY: boolean, scene: Nullable<ISceneLike>, samplingMode?: number, onLoad?: Nullable<() => void>, onError?: Nullable<(message: string, exception: any) => void>, buffer?: Nullable<string | ArrayBuffer | ArrayBufferView | HTMLImageElement | Blob | ImageBitmap>, fallback?: Nullable<InternalTexture>, format?: Nullable<number>, forcedExtension?: Nullable<string>, mimeType?: string): InternalTexture;
         /**
          * Creates a cube texture
          * @param rootUrl defines the url where the files to load is located

文件差異過大導致無法顯示
+ 2 - 2
dist/preview release/gui/babylon.gui.min.js


文件差異過大導致無法顯示
+ 8 - 7
dist/preview release/inspector/babylon.inspector.bundle.js


文件差異過大導致無法顯示
+ 2 - 2
dist/preview release/loaders/babylon.glTF1FileLoader.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/loaders/babylon.glTF2FileLoader.min.js


文件差異過大導致無法顯示
+ 2 - 2
dist/preview release/loaders/babylon.glTFFileLoader.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/loaders/babylon.objFileLoader.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/loaders/babylon.stlFileLoader.min.js


文件差異過大導致無法顯示
+ 2 - 2
dist/preview release/loaders/babylonjs.loaders.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.cellMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.customMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.fireMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.furMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.gradientMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.gridMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.lavaMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.mixMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.normalMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.shadowOnlyMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.simpleMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.skyMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.terrainMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.triPlanarMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.waterMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylonjs.materials.min.js


文件差異過大導致無法顯示
+ 7 - 7
dist/preview release/nodeEditor/babylon.nodeEditor.js


+ 1 - 1
dist/preview release/packagesSizeBaseLine.json

@@ -1 +1 @@
-{"thinEngineOnly":114747,"engineOnly":151405,"sceneOnly":509096,"minGridMaterial":641404,"minStandardMaterial":782585}
+{"thinEngineOnly":114719,"engineOnly":151377,"sceneOnly":508946,"minGridMaterial":641242,"minStandardMaterial":782423}

文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/postProcessesLibrary/babylon.asciiArtPostProcess.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/postProcessesLibrary/babylon.digitalRainPostProcess.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/postProcessesLibrary/babylonjs.postProcess.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/proceduralTexturesLibrary/babylon.brickProceduralTexture.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/proceduralTexturesLibrary/babylon.cloudProceduralTexture.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/proceduralTexturesLibrary/babylon.fireProceduralTexture.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/proceduralTexturesLibrary/babylon.grassProceduralTexture.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/proceduralTexturesLibrary/babylon.marbleProceduralTexture.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/proceduralTexturesLibrary/babylon.normalMapProceduralTexture.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/proceduralTexturesLibrary/babylon.perlinNoiseProceduralTexture.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/proceduralTexturesLibrary/babylon.roadProceduralTexture.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/proceduralTexturesLibrary/babylon.starfieldProceduralTexture.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/proceduralTexturesLibrary/babylon.woodProceduralTexture.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/proceduralTexturesLibrary/babylonjs.proceduralTextures.min.js


文件差異過大導致無法顯示
+ 1 - 15
dist/preview release/serializers/babylon.glTF2Serializer.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/serializers/babylon.objSerializer.min.js


文件差異過大導致無法顯示
+ 1 - 15
dist/preview release/serializers/babylonjs.serializers.min.js


+ 24 - 0
dist/preview release/viewer/babylon.module.d.ts

@@ -10214,6 +10214,7 @@ declare module "babylonjs/Sprites/spriteManager" {
         private _spriteMap;
         /** True when packed cell data from JSON file is ready*/
         private _packedAndReady;
+        private _textureContent;
         /**
         * An event triggered when the manager is disposed.
         */
@@ -10269,6 +10270,7 @@ declare module "babylonjs/Sprites/spriteManager" {
         name: string, imgUrl: string, capacity: number, cellSize: any, scene: Scene, epsilon?: number, samplingMode?: number, fromPacked?: boolean, spriteJSON?: any | null);
         private _makePacked;
         private _appendSpriteVertex;
+        private _checkTextureAlpha;
         /**
          * Intersects the sprites with a ray
          * @param ray defines the ray to intersect with
@@ -18564,6 +18566,16 @@ declare module "babylonjs/Sprites/sprite" {
         animations: Animation[];
         /** Gets or sets a boolean indicating if the sprite can be picked */
         isPickable: boolean;
+        /** Gets or sets a boolean indicating that sprite texture alpha will be used for precise picking (false by default) */
+        useAlphaForPicking: boolean;
+        /** @hidden */
+        _xOffset: number;
+        /** @hidden */
+        _yOffset: number;
+        /** @hidden */
+        _xSize: number;
+        /** @hidden */
+        _ySize: number;
         /**
          * Gets or sets the associated action manager
          */
@@ -84318,6 +84330,7 @@ declare module BABYLON {
         private _spriteMap;
         /** True when packed cell data from JSON file is ready*/
         private _packedAndReady;
+        private _textureContent;
         /**
         * An event triggered when the manager is disposed.
         */
@@ -84373,6 +84386,7 @@ declare module BABYLON {
         name: string, imgUrl: string, capacity: number, cellSize: any, scene: Scene, epsilon?: number, samplingMode?: number, fromPacked?: boolean, spriteJSON?: any | null);
         private _makePacked;
         private _appendSpriteVertex;
+        private _checkTextureAlpha;
         /**
          * Intersects the sprites with a ray
          * @param ray defines the ray to intersect with
@@ -92367,6 +92381,16 @@ declare module BABYLON {
         animations: Animation[];
         /** Gets or sets a boolean indicating if the sprite can be picked */
         isPickable: boolean;
+        /** Gets or sets a boolean indicating that sprite texture alpha will be used for precise picking (false by default) */
+        useAlphaForPicking: boolean;
+        /** @hidden */
+        _xOffset: number;
+        /** @hidden */
+        _yOffset: number;
+        /** @hidden */
+        _xSize: number;
+        /** @hidden */
+        _ySize: number;
         /**
          * Gets or sets the associated action manager
          */

文件差異過大導致無法顯示
+ 2 - 2
dist/preview release/viewer/babylon.viewer.js


文件差異過大導致無法顯示
+ 3341 - 838
dist/preview release/viewer/babylon.viewer.max.js


+ 5 - 8
src/Sprites/spriteManager.ts

@@ -373,7 +373,7 @@ export class SpriteManager implements ISpriteManager {
             sprite._xOffset = (sprite.cellIndex - offset * rowSize) * this.cellWidth / baseSize.width;
             sprite._yOffset = offset * this.cellHeight / baseSize.height;
             sprite._xSize = this.cellWidth;
-            sprite._ySize = this.cellHeight;            
+            sprite._ySize = this.cellHeight;
             this._vertexData[arrayOffset + 10] = sprite._xOffset;
             this._vertexData[arrayOffset + 11] = sprite._yOffset;
             this._vertexData[arrayOffset + 12] = this.cellWidth / baseSize.width;
@@ -396,9 +396,9 @@ export class SpriteManager implements ISpriteManager {
             this._textureContent = new Uint8Array(textureSize.width * textureSize.height * 4);
             this._spriteTexture.readPixels(0, 0, this._textureContent);
         }
-        
+
         let contactPoint = TmpVectors.Vector3[0];
-        
+
         contactPoint.copyFrom(ray.direction);
 
         contactPoint.normalize();
@@ -412,15 +412,12 @@ export class SpriteManager implements ISpriteManager {
         let angle = sprite.angle;
         let rotatedU = 0.5 + (contactPointU * Math.cos(angle) - contactPointV * Math.sin(angle));
         let rotatedV = 0.5 + (contactPointU * Math.sin(angle) + contactPointV * Math.cos(angle));
-        
+
         let u = (sprite._xOffset * textureSize.width + rotatedU * sprite._xSize) | 0;
         let v = (sprite._yOffset * textureSize.height +  rotatedV * sprite._ySize) | 0;
 
         let alpha = this._textureContent![(u + v * textureSize.width) * 4 + 3];
 
-        console.log((contactPoint.x - min.x) / (max.x - min.x), 1.0 - (contactPoint.y - min.y) / (max.y - min.y))
-        console.log(u, v, alpha)
-
         return (alpha > 0.5);
     }
 
@@ -468,7 +465,7 @@ export class SpriteManager implements ISpriteManager {
 
                     if (!this._checkTextureAlpha(sprite, ray, distance, min, max)) {
                         continue;
-                    }   
+                    }
 
                     distance = currentDistance;
                     currentSprite = sprite;