liaocheng / away3d-particles-system

A particle system based on Stage3D for Away3D engine
68 stars 16 forks source link

with away3d 4.1,I get this: #18

Open dottob opened 11 years ago

dottob commented 11 years ago

a3dparticle\animators\ParticleAnimationtor.as,34 行 1024: 正在覆盖未标记为 override 的函数。 ... public function get absoluteTime():Number { return _absoluteTime; } ... then in TransformFollowAnimator.as I find: 63-67 ... override public function set absoluteTime(value:Number):void { _lastTime = absoluteTime; super.absoluteTime = value; } ... so, I am not so good at as3,can you help me how to fix this?Thank you very much!

liaocheng commented 11 years ago

This project has been merged into Away3D since 4.1. Please use the lib in Away3D core instead.

dottob commented 11 years ago

Oh,I get it,thank you!

------------------ 原始邮件 ------------------ 发件人: "Cheng Liao"notifications@github.com; 发送时间: 2013年7月30日(星期二) 晚上6:38 收件人: "liaocheng/away3d-particles-system"away3d-particles-system@noreply.github.com; 抄送: "廖同学"1123364494@qq.com; 主题: Re: [away3d-particles-system] with away3d 4.1,I get this: (#18)

This project has been merged into Away3D since 4.1. Please use the lib in Away3D core instead.

— Reply to this email directly or view it on GitHub.

dottob commented 11 years ago

I have a new question,thank you very much!if you can help me^^_

Can I control particles one by one and use TweenLite to do what i want to do?

Just like this:

first, the particles's postion is a random x,y,z in the 3d space;

second,the particles move to a custom postion(from a logo's bitmap data) like this: ... data = new Vector.; var depth:int = 1; for (var i:int = 0; i < bitmapData.width; i++) { for (var j:int = 0; j < bitmapData.height; j++) { if (bitmapData.getPixel(i, j) != 0) { for (var k:int = 0; k < depth; k++) { var point:Vector3D = new Vector3D(i - bitmapData.width / 2, bitmapData.height / 2 - j, k); point.scaleBy(SIZE); data.push(point); } } } } ... I try to do this with ParticleAnimationSet,addAnimation,new ParticlePositionNode,etc...but didn't get what I want to be,after some study about the TheBasicTutorial,TheAdvancedDemo...

Sorry for my poor english but if you can,I write my question use Chinese,your name like a Chinese name,am I right?

我想实现的是,开始的时候,粒子是在三维空间的任意位置,然后通过缓动TweenLite把粒子移动到自定义的坐标位置(这个位置来自一个标志的图案像素值二维坐标)模拟一种粒子聚合成标志的效果。这个效果有很多2d的as3脚本,但是在away3d引擎下实现,貌似没有Papervison3D方便。

我试了用Mesh的办法,但是模型数量太多,超过缓存限制,实现不了。当然如果把单个Mesh的高宽增加,不超出缓存限制的条件下可以实现,不过没有粒子系统有效率。

如可能的话,谢谢您抽时间指引一个方向。祝周末愉快!

廖同学 2013,8.10

liaocheng commented 11 years ago

如果你的效果是与定义的,不需要在运行时来改变,我想这是可以通过行为的组合来实现的.可以参考这个demo: http://infiniteturtles.co.uk/projects/away3d4/examples/Intermediate_ParticleExplosions/Intermediate_ParticleExplosions.html 源代码在: https://github.com/away3d/away3d-examples-fp11/blob/master/src/Intermediate_ParticleExplosions.as 这是新版本的实现。老版本理论上也可以这样做,不过还是建议你升级到新版本。新版本功能和性能都更强大,而且还有一个强大的编辑器 http://www.awayeffect.com/ 可以使用。 祝工作顺利 Cheng Liao

dottob commented 11 years ago

谢谢您,我用的是away3d 4.1.0,通过学习您的源码,大致了解了您的粒子系统的操作流程跟模式,非常强大。我通过设置起始时间为负值的办法,通过onenterframe事件手动update后(类似倒播)得到近似的我要的效果。

虽然因为不太熟悉的缘故未能最终采用(我最后换成用Mesh的办法,只是不能很好的避免超过顶点,贴图的内存限制的那个错误,看来得学习GPU渲染了)。

谢谢您的抽空解答与帮助^^_

Have a nice day!

廖同学 2013,8.13

------------------ 原始邮件 ------------------ 发件人: "Cheng Liao"notifications@github.com; 发送时间: 2013年8月13日(星期二) 上午9:08 收件人: "liaocheng/away3d-particles-system"away3d-particles-system@noreply.github.com; 抄送: "廖同学"1123364494@qq.com; 主题: Re: [away3d-particles-system] with away3d 4.1,I get this: (#18)

如果你的效果是与定义的,不需要在运行时来改变,我想这是可以通过行为的组合来实现的.可以参考这个demo: http://infiniteturtles.co.uk/projects/away3d4/examples/Intermediate_ParticleExplosions/Intermediate_ParticleExplosions.html 源代码在: https://github.com/away3d/away3d-examples-fp11/blob/master/src/Intermediate_ParticleExplosions.as 这是新版本的实现。老版本理论上也可以这样做,不过还是建议你升级到新版本。新版本功能和性能都更强大,而且还有一个强大的编辑器 http://www.awayeffect.com/ 可以使用。 祝工作顺利 Cheng Liao

— Reply to this email directly or view it on GitHub.