当前位置: 首页 > news >正文

Animated Movement Color

这节课主要的目的是额外输出的掌握

本课首先延续上节课制作了一个旋转展开,旋转关闭的圆,并且变动了颜色

首先定义了已遮罩模式,不为1的地方也就是黑色区域会透明掉。并且设定了额外输出

float result = 0.0f;
for (int i = 0; i < nSides; i++)
{
    for(int j = 0; j < nCopies; j++)
    {
        float angle = (i * 1.0f / nSides) * 2.0f * sin(time * 2.0f) * (3.14f);
        float2 pos = center + (j * 1.0f / nCopies) * radius * float2(sin(1 - angle), cos(1 - angle));
        result += length(pos - uv) < size;
    }
}

outEmissive = result / float3(sin(time), 0, 0.1);
return float3(result, result, result);

注意到此时中间往外会越来越暗,这是因为中间的采样点离每个pos都很近,就叠加了亮度

继续变化公式

让二维的图像更加3d,修改pos的生成公式

float result = 0.0f;
for (int i = 0; i < nSides; i++)
{
    for(int j = 0; j < nCopies; j++)
    {
        float angle = (i / nSides) * 2.0f * sin(time * 2.0f) * (3.14f);
        float2 pos = center + (j / nCopies) * radius * float2(sin(1 - angle) - sin(time), cos(1 - angle) - sin(time));
        result += length(pos - uv) < size;
    }
}

outEmissive = result / float3(sin(time), 0, 0.1);
return float3(result, result, result);

可以运用在plane上

http://www.dtcms.com/a/123373.html

相关文章:

  • 【书籍】DeepSeek谈《持续交付2.0》
  • 第5篇:Linux程序访问控制FPGA端LEDR<三>
  • 如何用 nvm alias default 18.20.8 实现全局 Node.js 版本管理?一篇保姆级指南!!!
  • 深入解析回环检测:从原理到C++实战
  • 批量清空图片的相机参数、地理位置等敏感元数据
  • 电商素材革命:影刀RPA魔法指令3.0驱动批量去水印,实现秒级素材净化
  • 【C++】右值引用、移动语义与完美转发
  • 【倍增】P10264 [GESP202403 八级] 接竹竿|普及+
  • java继承练习
  • 走多远(拓扑排序,dp)
  • ChatRoom测试报告
  • 手眼标定-眼在手上
  • 安卓设备配置PAC代理服务器的完整指南:实现智能分流与开发加速
  • OfficePlus去掉PDF文件右键菜单里的PDF转换
  • Java Map和Set集合应用
  • docker安装nginx,基础命令,目录结构,配置文件结构
  • 0410 | 软考高项笔记:项目管理概述
  • jQuery多库共存
  • 甘特图和里程碑趋势图在项目监控中有哪些实际应用?
  • 本地laravel项目【dcat-admin】部署到liunx服务器
  • 论文笔记:Dynamic Spectral Graph Anomaly Detection
  • 先占个日常,等会写。
  • 如何白嫖Grok3 API? 如何使用Grok3 API调用实例?怎么使用Grok3模型?
  • 从零实现Agent智能体配置使用(Ragflow)
  • 多模态大模型在目标检测领域的最新进展
  • JS包装类型Object
  • AutoKeras 处理图像回归预测
  • spark-core学习内容总结
  • 【完美解决】VSCode连接HPC节点,已配置密钥却还是提示需要输入密码
  • 京华幻梦:科技自然共生诗篇