这周研究一下,以前从 Stage3D 时代就想做的效果 -> 贴花

具体是怎样的呢

就是可以贴合模型全新纹理,差不多是这样

于是我做了个 动态贴花插件,这样美术童鞋在做场景的时候就比较直观咯

具体应用的美术场景,可以看看这个图

贴花做法其实就是复制要贴花模型的某一部分三角形,然后绘制新的纹理

如何截取三角形呢

正方形包围盒截取算法

1.将被贴花的模型的所有三角形转换到包围盒坐标系内

2.排除三角形3个顶点在包围盒6个面内的三角形,收集3个顶点都在6个面内的三角形, 对于仅有某个顶点在包围盒内,某个顶点不在包围盒内的三角形,使用空间直线和平面交点算法,计算出包围盒平面上的相交点作为新的顶点

3.把收集的顶点创建网格

球形包围盒截取算法

1.跟上面一样

2.只需要判断顶点距离是否小于球形半径即可,对于部分超出球型的顶点,使用空间直线和球型交点的算法, 文章最后有相关算法论文

3.同正方形包围盒

那么Decay 能用在什么地方呢

1.Fps游戏打枪时,墙面的弹坑

2.场景喷漆,比如不规则平面上血渍,颜料等

3.脚印

凡是静态的不规则新纹理贴片,Decay都是最好的选择

对于动态对象,比如蒙皮动画,不要使用Decay,因为Decay要遍历对象的所有三角形,因此实时性能不好。 静态能做Batch。

对于动态对象,建议使用Projector, 它是再次绘制目标一次,然后用新的uv绘制

Projector的动态对象性能极好与 Decay. 但是静态性能极低与Decay,会增加2倍Draw Call, 不能 Combine Batch.

因此要有选择的使用它们。

参考部分

1.光线跟踪的直线与球体求交的快速算法

Link

2.Decals editor ~ part three

Link

unity3d 地面印花_Unity3D 中的贴花效果相关推荐

  1. unity3d 地面印花_Unity3D 中的贴花效果 – 苍白的茧

    这周研究一下,以前从 Stage3D 时代就想做的效果 -> 贴花 具体是怎样的呢 就是可以贴合模型全新纹理,差不多是这样 于是我做了个 动态贴花插件,这样美术童鞋在做场景的时候就比较直观咯 具 ...

  2. unity3d 地面印花_unity怎么实现挖掘泥土?

    靠造假. 只要几何造型(比如地型)的底层还是用网格表示的,"挖掘"的过程和结果就和真实的物理世界不同--你没法真的从网格上"挖"下一坨实心的东西. 如果这个挖掘 ...

  3. unity3d 地面印花_Unity Shader案例篇—角色动态地面印记

    下面和大家分享一个shader案例,如何实现角色动态地面印记.效果如下图所示:角色在地形上行走,地形上始终会有一个动态圆环跟随角色,类似于阴影的一个效果.但是这个 "阴影"是我们可 ...

  4. unity3d 收费模式_unity3d中的访客模式

    unity3d 收费模式 抽象 (Abstract) Game development as a discipline is challenging on its own compared to tr ...

  5. unity3d循环滑动_Unity3D中如何用代码实现物体的左右循环移动?

    展开全部 Unity3D中用代码实现物体的左右循环移动的方式如下: 1.新建一32313133353236313431303231363533e59b9ee7ad9431333365646264个Cu ...

  6. 【游戏开发小技】Unity中实现Dota里的角色技能地面贴花效果(URP | ShaderGraph | Decal)

    本文最终效果 文章目录 一.前言 二.环境准备 1.URP环境准备 2.技能范围图案 二.方案一:写Shader实现 1.Shader脚本:UrpDecal.shader 2.材质球 3.创建Cube ...

  7. 【游戏开发小技】Unity中实现Dota里的角色技能地面贴花效果(URP ShaderGraph Decal)

    本文最终效果 文章目录 一.前言 二.环境准备 1.URP环境准备 2.技能范围图案 二.方案一:写Shader实现 1.Shader脚本:UrpDecal.shader 2.材质球 3.创建Cube ...

  8. unity中怎么做河流_unity3d如何使用水效果 看完你就知道了

    我们玩游戏时,常常会在游戏中看见河流,湖泊,大海等水效果,这些效果也让游戏更加逼真,更加美丽.那么如何在unity3d中使用水效果呢?下面简单介绍一下. 工具/材料 unity3d软件 操作方法 01 ...

  9. Unity 实现贴花效果的制作教程

    c#教程​https://www.cnblogs.com/Yesi/p/15829200.html ​ 有些游戏中的战斗痕迹的效果会通过贴花来实现的,贴花的方式多种多样.而在Unity中,有一种给官方 ...

  10. Unity 贴花效果的实现

    一.前言 在云艾尔登法环时,看到地面上的血迹时,发现某些地方脱离的地面,似乎是通过面片的方式实现的效果.但是同时某些,不过这种类型的血迹有道具的效果,估计是为了实现碰撞检测的功能才选择了面片的方式 而 ...

最新文章

  1. 多视图几何三维重建实战系列之R-MVSNet
  2. echart的关系图高亮_echarts鼠标覆盖高亮显示节点及关系名称详解
  3. mysql 数据库系统开发_MySQL------数据库系统概述
  4. pyqt改变背景颜色
  5. 微信小程序_Bug解决_setData失效
  6. 归并排序 自带时间复杂度测试
  7. SpringBoot项目去除druid监控的底部广告
  8. javascript date php date,JavaScript Date 知识浅析
  9. poj 2187 Beauty Contest(凸包求解多节点的之间的最大距离)
  10. 虚拟机安装jdk步骤及命令
  11. Altium Designer 10.0 使用教程
  12. Origin中多峰拟合方法
  13. 什么是PERT网络分析?
  14. SQL Server中自定义函数:用指定的分隔符号分割字符串
  15. Amazon教程:刚买就降价!避免损失,申请PRICE MATCH(价格保护)的方法
  16. pycharm5.0.3在用QQ输入法候选框不跟随解决方法
  17. 进阶级 - Git Hub 常用指南
  18. clonezilla(clonezilla备份系统)
  19. esayExcel 获取值 null 去除excel中换行 回车 水平制表符
  20. 图片处理--羽化特效

热门文章

  1. 计算机控制器cu的功能是,控制器cu的功能是
  2. JavaScript实现气球打字游戏
  3. 算法之迪杰斯特拉算法
  4. win10误删的注册表能还原吗_win10恢复系统注册表,win10删除注册表怎么还原
  5. 机器人阿莫西_HELLO!阿莫西 本田机器人ASIMO
  6. java导出帆软pdf,java后台把fineRepo图表导出pdf格式时发生错误!
  7. 自己写了个cgi-bin,报错!
  8. ai钢笔工具怎么描线_AI分享:歪龙教你玩转钢笔工具
  9. A卡福利 : AMD Fluid Motion Video补帧教程,让你的视频从24帧补到60帧(144)
  10. 国外IDC管理系统哪个比较好用