diff --git a/packages/layers/src/Geometry/models/sprite.ts b/packages/layers/src/Geometry/models/sprite.ts index aa66c9df4d..5aba2c9d79 100644 --- a/packages/layers/src/Geometry/models/sprite.ts +++ b/packages/layers/src/Geometry/models/sprite.ts @@ -66,8 +66,12 @@ export default class SpriteModel extends BaseModel { } public planeGeometryUpdateTriangulation = () => { + const { + spriteBottom = -100000, + } = this.layer.getLayerConfig() as IGeometryLayerStyleOptions; const updateZ = this.spriteUpdate; - const bottomZ = -100000; + // const bottomZ = -100000; + const bottomZ = spriteBottom; const topZ = this.spriteTop; for (let i = 0; i < this.positions.length; i += 5) { diff --git a/packages/layers/src/core/interface.ts b/packages/layers/src/core/interface.ts index cbcfa1a5a1..0f682eac9c 100644 --- a/packages/layers/src/core/interface.ts +++ b/packages/layers/src/core/interface.ts @@ -183,6 +183,7 @@ export interface IGeometryLayerStyleOptions { spriteCount?: number; spriteSpeed?: number; spriteTop?: number; + spriteBottom?: number; spriteUpdate?: number; spriteScale?: number; diff --git a/stories/Object/components/sprite.tsx b/stories/Object/components/sprite.tsx index 37ee983f7e..587922377c 100644 --- a/stories/Object/components/sprite.tsx +++ b/stories/Object/components/sprite.tsx @@ -33,9 +33,9 @@ export default class Demo extends React.Component { // }, // }) .shape('sprite') - .size(10) + .size(20) .style({ - opacity: 0.3, + // opacity: 0.3, mapTexture: 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*zLQwQKBSagYAAAAAAAAAAAAAARQnAQ', // snow // mapTexture: 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*w2SFSZJp4nIAAAAAAAAAAAAAARQnAQ', // rain @@ -45,10 +45,13 @@ export default class Demo extends React.Component { spriteCount: 60, spriteRadius: 10, spriteTop: 2500000, - // spriteTop: 1000000, - // spriteScale: 0.8, - spriteScale: 0.6, - // spriteUpdate: 20000 + spriteUpdate: 10000, + spriteScale: 0.8, + + // spriteTop: 1000, + // spriteUpdate: 5, + // spriteBottom: -10, + // spriteScale: 0.6, }) .active(true) .color('#f00');