效果图
打开C4D,新建一个球体,烟雾模拟会比较卡,球体的大小稍微小一点。
新建xpExplosiaFX爆炸对象。
然后给球体添加xpExplosiaFX的发射源标签。
点击播放键,就可以模拟烟雾了,可以适当的修改体素尺寸,尺寸越小精度越高模拟越慢。
将帧速率改为25,总共做125帧。
新建一个立方体,调整合适的尺寸,添加一个显示标签勾选使用,着色模式为网线。
给立方体添加一个xpExplosiaFX的碰撞标签,让它作为烟雾的碰撞体。
点击播放会发现烟雾无法模拟出来,xpExplosiaFX默认情况下无法支持烟雾在物体内部碰撞导致的。
将Solid取消勾选之后,就会发现烟雾可以在立方体内部发生碰撞了。
如果是外部碰撞封闭体积的对象,Solid勾选与否都能正常碰撞,平面确实是要取消勾选才可以。
新建一个XP的重力拖到xpExplosiaFX的修改器面板。
烟雾的细节可以再继续调整,在发射源标签里提高卷曲数值的参数。
在xpExplosiaFX的力面板里勾选风力,适当的调整风力的大小以及湍流的大小等。
增加几个碰撞烟雾的小球,新建小球调整好大小,新建克隆对象克隆小球,克隆模式为放射。
给克隆对象添加随机效果器,随机大小和Z轴的位移。
添加一个公式效果器,目的就是让小球随机的运动并且运动的轨迹会经过烟雾。
给克隆对象添加烟雾的碰撞标签碰撞是无效的。
用烘焙插件把克隆小球烘焙成了点级别动画。
然后给小球统一添加烟雾的碰撞标签。
接下来就是将对象网格化方便后面渲染,新建一个xpOVDBMesher。
直接把xpExplosiaFX拖进xpOVDBMesher的源里,烟雾就被网格化了。
将网格的体素尺寸设置为1。
在滤镜里添加两个滤镜让网格更平滑。
缓存一下。
渲染用的OC,设置渲染尺寸,新建摄像机固定视角等。
新建纹理环境光,将环境光颜色先改为黑色,同时环境类型改为可见环境,只勾选背景。
新建一个HDRI环境光,给一个HDRI贴图。
做一个SSS材质,勾选了伪造阴影,然后粗糙给了一些参数。
然后是一个黄色的发光材质。
然后用一个混合材质混合SSS材质和发光材质,用Dirt节点来控制两者的范围。
视情况再补两盏灯。
背景色再改改就可以渲染出图。