使用游戏技术让AI图片动起来

文生图在AIGC领域已经很成熟了,也诞生了很多具有想象力的产品形态,其中图文互动类的产品一直贯穿24年全年,从最开始的智能绘本到最近大火的猫箱,产品的沉浸感一直是很重要的命题,异名作为老互动同学了,我们不如让静态的文生图动起来?

769d160cd27cb26f637ad7adb2069259.gif
让AI图片动起来

实现思路

互动领域的图片“动态“诉求并不少,比如视差、陀螺仪交互,我们可选的技术方案也有很多。但是在大批量的内容供给、制作流程高度自主化等要求下,很多技术方案的在工程链路上就基本不可能落地

在计算机视觉领域,有一种方法可以把图片解构成三维的描述方式,那就是(depth map)深度图,它是一种灰度图,图像的每一个像素值表示场景中某点与摄像机的距离,比如我把下面这张AI生成的鳄鱼图片用深度图来描述

fb69861915ea7026149073c31cfd555d.jpeg
深度图

异名使用的深度图工具是Inte开源的DPT模型【https://github.com/isl-org/DPT】,可以直接本地部署并集成到自己的工程链路中,如果只是体验的话可以使用Hugging Face上其他人已经部署好了的网页版【https://huggingface.co/spaces/nielsr/dpt-depth-estimation】,只要上传图片,等待几秒即可生成并下载

从上图中可以看出,深度图很准确地把场景的前中后景关系描述出来了,结合原始图片,我们就能够把对应的像素点转化成有深度关系的空间描述,异名这次还是使用CocosCreator游戏引擎构建运行时demo,其中关键的shader片段是

void main () {
  float scale = 0.01; // 增加缩放值以增强效果
  float focus = 0.1; // 调整聚焦值以改变深度影响范围

  // 从深度纹理中获取深度值,并将其反转(乘以 -1.0)并加上聚焦值
  float map = texture(depthTexture, v_uv0).r;
  map = map * -1.0 + focus;
  
  // 根据深度值计算新的纹理坐标,应用了偏移和缩放
  vec2 disCords = v_uv0 + offset * map * scale;
  vec4 o = texture(spriteTexture, disCords);

  gl_FragColor = o;
}

通过深度图和着色器处理,我们就基本能做到”动图“的大规模供给。为了更直观对比效果,异名还把不同风格的AI生图效果做了对比,需要体验的同学可以长按二维码体验

f8b11702fa619db7a1fd0b6452c6e409.jpeg

2eba1aa18cc93559810392a0647c872c.gif

让AI图片动起来

效果预览

源码获取请点击查看原文,长按二维码查看效果👇

4c745b1e24246c8745a443a4fcd83cc2.png
长按预览效果

融球效果(shader)    颜色滤镜    水波扩散效果(shader)

镜面光泽效果    圆形头像(shader)    追光效果

shader 溶解效果    富文本打字机效果    放大镜效果

子弹跟踪效果    移动残影效果    刮刮卡实现

微信小游戏首包超出4M之后      设计稿生成游戏界面

GameJam线下48小时极限游戏开发体验  

马赛克效果(shader)

f62840cba5d49791c62174e3a7fee098.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值