正文内容加载中...
posted @ 2008-09-09 11:19 牛牛猪 阅读 (245) 评论 (1) 编辑
摘要:模拟了一个电光效果,同样使用了上回文章提及到的DisplacementMapFilter类,并且解决了消耗过大的问题。原因是提供给DisplacementMapFilter的源图像太大,导致在处理的时候消耗了大量CPU。假如能够获得3D对象每一帧所的矩形区域,只对这个区域进行处理就能大大减少消耗了。如何才能获得3D对象的区域?我们知道每个3D对象都保存了所有顶点坐标,每个顶点坐标是一个Vertex3D类,这个Vertex3D类里面有一个顶点实例属性,他是vertex3DInstance类型,这是投影到屏幕的最终坐标。OK,就拿这些坐标来求区域吧。Preview:http://niuniuzhu.cn/p/Lighting 阅读全文
posted @ 2008-09-05 00:15 牛牛猪 阅读 (2054) 评论 (0) 编辑
摘要:写了个PerlinNoiseEffect类,但效率很差,对于较大的bitmapData运行起来会比较累。Code:[代码]Download:PerlinNoiseEffect.asPreview:http://niuniuzhu.cn/p/PerlinNoise/ 阅读全文
posted @ 2008-08-31 16:04 牛牛猪 阅读 (1655) 评论 (1) 编辑
摘要:在我做的其中一个关于Lines3D实验时候碰到需要动态改变line的始末座标的问题。看了一下lines3D类,渲染方式也是采用仿射变换实现。在实例化lines3D时,提供了几个参数,其中包括有始末顶点座标v0和v1(Vertex3D类)。猜想如果能改变这两个座标,是否能实现线条的跳动效果?但答案竟然是否定。我使用如下代码: 阅读全文
posted @ 2008-08-28 12:32 牛牛猪 阅读 (1685) 评论 (0) 编辑
摘要:Preview:http://niuniuzhu.cn/p/PixelsRank由于粒子拥有初速度vx0,vy0,vz0,其中vx0,vz0我们不用改变,它们是粒子能够分散到四周的重要条件。看看vy0,初速度我为0,假设粒子和地板之间的距离为d,有这样一个公式vy -= dy * p.weight * .004,当距离越远,加速度就越大,这个不难理解。当粒子和地板发生碰撞,也就是d=0的时候,vy改变方向:vy *= -1。并且vx,vy,vz都会损失速度vx *= _damp,vy *= _damp;,vz *= _damp;。直到vx=vy=vz=0,粒子停止运动。当所有粒子停止运 阅读全文
posted @ 2008-08-25 10:56 牛牛猪 阅读 (2381) 评论 (4) 编辑
摘要:Preview:http://niuniuzhu.cn/p/PixelSprings/做这个demo花了比较长时间,第一,曾经让我思考了很久的三维球体碰撞反弹算法。十分幸运,我在搜索相关资料的时候,找到一个二维球体碰撞反弹的例子。该例子图文并茂,很好的分析了各种碰撞的情况,并介绍了算法。如何发散到三维空间里应用呢?突然想起能量守恒定律,似乎粒子在一个理想空间(没有外力作用,没有能量损失)下运动,那么他具有初速度vx0,vy0,vz0,合速度为v0 = vx0^2 + vy0^2 + vz0^2 。 阅读全文
posted @ 2008-08-21 01:47 牛牛猪 阅读 (2436) 评论 (0) 编辑
摘要:一个外国学生写的教程。帖子原文: One of my students (Alex Green) put together this example on mapping textures in 3DS Max using Photoshop. We are working on a site for Duke Energy and have been building washers and d... 阅读全文
posted @ 2008-08-18 23:52 牛牛猪 阅读 (1355) 评论 (2) 编辑
摘要:一个基于PV3D的粒子效果。该实验展示了大量粒子在引力场作用下的“奇观”。 同时还展示了PV3D的pixel3d类和BitmapLayerEffect类的强大功能。该实验使用了3200个pixel和5个引力场和两个EffectLayer,稍微显得有些力不从心。 稍后还做一些Sound方面的试验,期待有更加惊人的效果。 Preview:http://niuniuzhu.cn/p/MotionPixel 阅读全文
posted @ 2008-08-14 02:13 牛牛猪 阅读 (2046) 评论 (0) 编辑
摘要:看到一个表演沙子的视频受到启发,并参考了国外一个网站的demo,,心血来潮做了一个模仿。但发现该demo一个严重的弊端—CPU占用非常高,那是由于每次遍历粒子是否在鼠标范围内的结果。于是我做了一下优化,在没有鼠标动作的时候,放弃这些多余的计算。但仍然存在弊端,对于在鼠标有动作的时候,运算依然没有得到有效优化。打算在遍历粒子上做些小动作,例如把整个容器划分为几个区域,根据鼠标点击范围选择该从哪些范围内获取粒子。这样在运算上会得到有效的优化。碍于CPU的高占用率,画布无法调整得更大,待解决了上述问题后,或许能得到更多的扩展应用。Preview:http://niuniuzhu.cn/p/SandBox 阅读全文
posted @ 2008-08-12 12:34 牛牛猪 阅读 (1595) 评论 (0) 编辑
摘要:偶然发现一个外国人写的基于PV3D的投射阴影类——Papervision Shadow Casting。除了效率比较低(这是PV3D的通病了,和这个类没任何关系 - -!),还算是比较强了。 先不多说,我们先看看如何使用。 首先,我们需要光源 然后创建一个DisplayObject3D,例子里用了DAE Preview:http://niuniuzhu.cn/p/3DRenderDemo/index.html?p=4 阅读全文
posted @ 2008-08-11 11:23 牛牛猪 阅读 (2489) 评论 (0) 编辑