processing 粒子扩散_3dmax喷泉粒子效果制作教程(一)创建喷泉

喷泉也是动画制作中较为常见的一个场景,而今天我们将要来制作彩色的梦幻喷泉,并且将要学习的是3dsMax的超级喷射和脚本来制作。在此次的案例教学中,我们将学习使用脚本控制粒子参数和材质变化,同时涉及到重力、导向板等辅助对象的用法,实现的效果如图所示。

e10d5665644b22f2082bae286495f711.png

【第一部分:创建喷泉】

  ➊建立超级喷射在几何体创建面板的下拉列表中选择[粒子系统],在对象类型中按下[超级喷射]按钮,然后在透视图中创建一个超级喷射粒子对象。拨动时间滑块使其喷射出粒子,进入它的修改面板设置粒子的参数。首先将它的轴扩散值调节为3,平面扩散值调节为180,视口显示采用[圆点]方式。在粒子生成的设置中,将粒子运动的变化值调节为30%,发射停止时间和显示时限均改为200,寿命值改为60,如图所示。

fc08fbebb951487a11bc480450d2b109.png

❷创建重力

  在透视图中创建一个向下的[重力]对象,并将它的强度调节为0.6。接着利用篓空间绑定工具将重力绑定到超级喷射对象上,这样喷射出的粒子到达一定高度后就开始坠落了,如图所示。

d2be5a2d192cfd3a476cf207adb54055.png

❸创建导向板

  在透视图中创建--个导向板,使其位于喷射标志的下方,然后使用绑定工具将其绑定到超级喷射对象上,进入修改面板,将导向板的[反弹]值设置为0.2,将[摩擦力]设置为50, .这样下落的粒子碰到导向板后就会反弹回来并且停留一段时间,就像水滴洒落到地面上一样,如图所示。

7b3bca79ce7ba0cfc5be958c97250eea.png

❹增加粒子

  返回超级喷射粒子的修改面板。将粒子数量中的[使用速率]值改为1000, 视图显示中的[粒子数百分比]值调节为2%。这样在相同的时间内会产生更多的粒子,但是在视图中仅显示2%的粒子,以增加视口的交互速度,如图所示。

40eda2ff4df01616cc4d38c6b5558681.png

❺设置粒子材质.

  打开[材质编辑器],赋予超级喷射粒子材质,并且将它的[漫反射]颜色改为白色,100% [自 发光]值设置为100。选择超级喷射粒子,单击鼠标右键打开[对 象属性]对话框,在[运动模糊]参数组中勾选[启用]选项,并且勾选[图像]选项,将[倍增]值调节为3。渲染透视图,可以观察到一个简单的喷泉效果,如图所示。

025c4ca3728cb8b417aa8b128d4e6a04.png
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
制作粒子效果,使用Processing可以使用两种方式:使用现有的粒子库或自己编写代码。 1. 使用现有的粒子库:Processing有许多粒子库可供使用,如Toxiclibs、Traer等。这些库提供了许多现成的函数和类,可以轻松地创建控制粒子效果。 例如,使用Toxiclibs库可以轻松地创建一个简单的粒子效果: ``` import toxi.geom.*; import toxi.physics.*; import toxi.physics.behaviors.*; VerletPhysics physics; VerletParticle[] particles; void setup() { size(400, 400); physics = new VerletPhysics(); particles = new VerletParticle[100]; for (int i = 0; i < particles.length; i++) { particles[i] = new VerletParticle(new Vec2D(random(width), random(height))); physics.addParticle(particles[i]); physics.addBehavior(new AttractionBehavior(particles[i], 20, -1)); } } void draw() { background(255); physics.update(); stroke(0); for (int i = 0; i < particles.length; i++) { point(particles[i].x, particles[i].y); } } ``` 2. 自己编写代码:如果你想更深入地了解粒子效果的原理和实现方法,可以自己编写代码。通常需要使用向量、物理引擎等概念和技术。 例如,可以使用向量来表示粒子的位置和速度,使用物理引擎来模拟粒子的运动和碰撞: ``` Particle[] particles; void setup() { size(400, 400); particles = new Particle[100]; for (int i = 0; i < particles.length; i++) { particles[i] = new Particle(new PVector(random(width), random(height)), new PVector(random(-1, 1), random(-1, 1))); } } void draw() { background(255); for (int i = 0; i < particles.length; i++) { particles[i].update(); particles[i].display(); } } class Particle { PVector pos, vel, acc; Particle(PVector pos, PVector vel) { this.pos = pos; this.vel = vel; this.acc = new PVector(0, 0.1); } void update() { vel.add(acc); pos.add(vel); if (pos.x < 0 || pos.x > width) vel.x *= -1; if (pos.y < 0 || pos.y > height) vel.y *= -1; } void display() { stroke(0); ellipse(pos.x, pos.y, 10, 10); } } ``` 以上是两种制作粒子效果的方法,你可以根据自己的需求和技能选择适合自己的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值