马上注册,下载海量CG资源,结交各路大神,加入CG拓扑网!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x

无论视频作品中的流派如何,CG效果都扩展了各个地方的活动领域。在这里,我将深入研究程序部分,并根据使用PopcornFX的音量来解释效果的产生。
创建脚本编织的动态声音可视化器对我来说,效果的吸引力在于让人们感到惊讶的方向背后有技术上的独创性,并且在制作过程中每天都有发现。工具的功能因人而异,您可以通过组合多个功能(如块)来创建新效果。即使它是一个小功能,重要的是要了解机制和原则,以创造吸引人的效果。在本文中,我们将深入研究产生效果移动的程序部分。使用其他工具创建效果不会有任何损失。 样本图像PopcornFX是Persistant Studios的实时粒子效果工具,位于巴黎和蒙特利尔。它由效果编辑器(仅限Windows),多平台运行时SDK(C ++)以及Unity和虚幻引擎插件组成。我对PopcornFX的感觉是性能水平。即使粒子以数十万个级别显示,该工具也可以快速移动并且可以实时编辑,因此可以有效地进行工作。其他效果工具,“脚本和图形用户界面”是不同寻常的制作风格,它们可以成为创造效果的有力武器,这种效果可以像爆米花一样飞出粒子。 我在这项工作中特别注意的是“明亮”的效果。我知道根据音量弹出角色时的动作,以及仅将动作应用于某些粒子的位置。此外,湍流噪声函数增加了一个表达式,其中无限数量的粒子像生物一样移动。我们也有视频,所以很高兴看到它们。 01音频谱分析声音关于音频频谱PopcornFX的功能之一是可以实时分析声音数据并获得每个频率的音量值。如果根据采样值排列粒子,则可以绘制光谱,如图所示。 使用精灵表的文本渲染它是根据过滤器类型提取不同采样值的图形 
频谱点

线性光谱

立方光谱
1.如何使用[AudioSampler.sample function]当指定0到1(频率)的值作为参数时,音量值将返回0到1。因为它实时变化,您可以通过获取每个帧来创建声音可视化器。之后,通过以下脚本调整频谱值。 [脚本描述] //使用t作为频率并使用AudioSpectrum.sample函数获取频谱。 float spectrum = AudioSpectrum.sample(t); //将系数应用于光谱并取平方根(处理以软化光谱的差异)。 float kSpectrum = pow(spectrum * 256,0.5); [Pow function]一个函数,它将第一个参数指定的值提高第二个参数指定的值。如果给出小于1的值,如0.5,则将通过取平方根来计算。这是一种常见的技术,通过乘以一个因子后提高功率来软化和锐化值的差异。 通过功能调整频谱
频谱舍入

锐化频谱
ConvolutionLevel的频谱差异 


ConvolutionLevel 0.3(上),0.5(左下),0.75(右下)光谱 2.Samplers使用[SamplerShape]提取3D空间中的特定位置。它是一种通过在编辑器的3D空间上放置一个形状(如球体)并从形状中提取点来确定随机值的函数。 [Rand函数]用于从给定范围获取随机值的函数。 [Shape.samplePosition function]从形状中获取随机值的函数。 提取圆周上的点
我从圆周上取样了位置并放置了粒子

通过将圆的半径乘以随机值来摇动位置
3.提取随机位置并添加抖动的脚本这里,Circle.samplePosition获取的三维向量乘以数值类型。向量和数字乘法是使用着色器编程图形时经常出现的重要点。 【获取随机位置并添加抖动】示例)Position = Circle.samplePosition()* rand(0.7,1.2); 【改变颜色的脚本,随机颜色】例)颜色= float4(0.1,rand(0.0,0.7),rand(0.6,1),rand(0,1)); 【尴尬色彩,产生发光效果】 //在Popcorn FX中,当Color值超过1时应用发光效果。例)颜色=颜色*兰特(1,5); 【设置随机字符的脚本】例)TextureID = rand(0,15); 【步骤功能】例)步骤(rand(0,1),0.85); [位置脚本成两层] 实施例)漂浮比=步骤(RAND(0,1),0.85)* 2 + 0.7; 位置= Box.SamplePosition()*兰特(0.9,1) *比率; 使用精灵表的文本渲染
|