胶囊体阴影

2023-11-01

官方介绍

虚幻引擎现在支持非常柔滑的间接阴影,由代表角色的胶囊体来进行投影。

213231eu3u6dafi3936r9f

通常,在受间接光照时,并不会产生阴影,除非是屏幕空间环境遮罩。间接投影需要做的非常柔滑,因为间接光照是来自很多不同的方向,因此,传统的阴影贴图做法的效果并不好。间接阴影的方向和柔度来自预先摆放的光照样本区域,并有 Lightmass 在构建光照时预先计算。
在游戏中,胶囊体的间接阴影将角色投影到地面上。

213231j7ikdd41uag1mapz

也可以用这些胶囊体来做直接阴影。灯光的来源半径或者来源角度将会决定阴影的柔度。这可以用来在一个有效的预烘培光照环境中获得非常柔软的角色阴影效果,在以前这点是做不到的。

213231pt99c9cpzjjp8z92

这个胶囊阴影的实现非常高效,它在一半的分辨率下计算阴影,带有深度信息的向上取样,使用屏幕裁剪来限制只在需要的地方才对阴影进行计算。
GPU 的消耗则和胶囊体的数量以及收到该阴影影响的像素数量成正比关系。
如何启用胶囊体阴影:
仅用 Sphyl bodies(胶囊体) 来创建新的 Physics Asset。用球体也行,但会不够灵活。胶囊体应该覆盖到关节位置。脚部的胶囊体最需要细条,因为这会影响到角色看起来是否恰当的贴在地面上。通常手臂上并不需要,除非游戏中经常会躲到掩体后,或者在地上爬行。

---------分割线------------

以上是官方新特性说明中的描述,下面是我在实际项目当中的操作步骤。

操作步骤:

1. 新建物理资源

213232xfri8cucs8f9fzsg

2. 重新编辑物理资源刚体,只在关键部位使用胶囊体,即表示轮廓。

213232iauatb63226abryt

3.打开skeletal mesh,把用于阴影效果的物理资源放入相应通道

213232wyacy02v3u0zsa06

4.然后在蓝图中,对mesh

213232v0gjjj6jtjx3nstj

5.阴影的柔软度与 (直射光angle/刚体半径) 有关

213232pqoo4u8uouc88oqz

注意

PS:胶囊体阴影在4.11中,只支持直射光、lightmaps、SkyLight,点光源和spot光不支持胶囊体阴影。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

胶囊体阴影 的相关文章

  • electron 应用开发优秀实践

    vivo 互联网前端团队 Yang Kun 一 背景 在团队中 我们因业务发展 需要用到桌面端技术 如离线可用 调用桌面系统能力 什么是桌面端开发 一句话概括就是 以 Windows macOS 和 Linux 为操作系统的软件开发 对此我
  • 循环队列来了解一下!!

    笔者在之前的一篇文章 详细的介绍了 队列之单向链表与双向链表的模拟实现 https blog csdn net weixin 64308540 article details 128742090 spm 1001 2014 3001 550
  • Qtcreator常用快捷键

    qtcreator常用快捷键 1 代码补全 2 切换已打开的文件 3 快速添加方法实体 cpp 声明 4 修改变量名 并应用到所有使用该变量的地方 5 快速打开输出窗口 6 快速切换模式 7 书签功能 8 分栏显示 9 快速重写父类方法 1
  • python学习笔记---正则表达式【廖雪峰】

    正则表达式 正则表达式是一种用来匹配字符串的强有力的武器 它的设计思想是用一种描述性的语言来给字符串定义一个规则 凡是符合规则的字符串 我们就认为它 匹配 了 否则 该字符串就是不合法的 我们判断一个字符串是否是合法的Email的方法是 创
  • Linux-0.12内核打开文件过程--sys_open源码分析

    上图展示了进程打开文件使用的内核数据结构 所以要打开文件 就要构造上图中的关系 int sys open const char filename int flag int mode struct m inode inode struct f
  • js逆向教程1:某某威客登录

    假设不会js语法来进行js破解 本文感谢挖掘机小王子提供的帮助 挖掘机小王子的github https github com EnjoyScraping 网站的登录接口 我们可以准备一组常用的账号密码 并记下对应的MD5 base64等密文
  • 如何计算无线天线长度

    天线长度为波长的1 4 波长 波速 频率 波速 光速 3 100000000 eg 频率为476 3 则天线长度 300 476 3 4 0 1574 m
  • 洛谷 P2249 【深基13.例1】查找

    题目链接 https www luogu com cn problem P2249 include
  • Nginx极简使用

    编译源码安装Nginx 确认系统版本 确认网络 确认yum可用 确认防火墙 确认SELinux 并关闭 安装依赖库和运行环境 下载安装Nginx Nginx源码编译 查看目录结构 生成编译文件makefile 编译 安装 展示nginx的目
  • 【HTSl】A系统开发总结~致敬这热烈的夏季

    2019的六七八月 我陪伴着A系统一起走过这个炎热的夏季 从单一的功能 完成了华丽的蜕变 迎来了我们的成长 经过历时将近两个月的紧张开发 终于迎来了A系统上线 疲惫的身体得到的暂时的缓解 会想这一个月的开发 感觉收获很多 抱怨也很多 在这个
  • SpringBoot2.7.2 版本配置swagger3的方法及教程

    原因 对SpringBoot2 7 2版本 swagger2 x版本不再适用 所以就选择了swagger3版本 但是相较于swagger2版本 swagger3版本更加麻烦 具体教程如下 方法 第一步 引入依赖
  • 【计算机毕业设计】java ssm在线学习系统 在线学习平台

    毕设帮助 源码交流 技术解答 见文末 一 前言 以前 我们的在线学习主要是通过面对面的讲授 这样 有很多优势 教师可以与学生直接交流 但是也有许多不尽人意的地方 课堂在线学习很大程度上受到时间和空间的限制 浪费了在线学习资源同时对于学生的进
  • 【算法题目】Leetcode算法题思路:两数相加

    在LeetCode上刷了一题比较基础的算法题 一开始也能解出来 不过在解题过程中用了比较多的if判断 看起来代码比较差 经过思考和改进把原来的算法优化了 题目 给出两个 非空 的链表用来表示两个非负的整数 其中 它们各自的位数是按照 逆序
  • 数据结构(C#)-- 贪心算法解决背包问题

    using System using System Collections Generic using System Linq using System Text using System Data using System Collect
  • 计算机的基本组成及工作原理

    计算机的基本组成及工作原理 1 3 1 计算机系统的组成 计算机系统是由硬件系统和软件系统两大部分组成 这一节将分别介绍计算机硬件系统和软件系统 计算机硬件是构成计算机系统各功能部件的集合 是由电子 机械和光电元件组成的各种计算机部件和设备
  • pytorch: Pool 和 AdaptivePool 的区别和使用方法

    在 pytorch 中 池化层 Pooling 有两种操作方式 一种是手动设计 另一种是自适应池化 一 手动设计 池化层操作 一般有最大值 max 池化和均值 avg 池化 而根据尺寸又有一维 二维 三维 所以 手动设计的池化层有6种函数
  • GitHub加速教程

    转载 GitHub 加速教程 GitHub Hosts 仓库提供最新的GitHub hosts地址 你可以自行配置hosts 但是最佳实践是使用 SwitchHosts 管理你的 hosts 可以阅读文章 SwitchHosts 还能这样管
  • 在Java中尽量使用包装类Integer而不使用int

    1 在MySQL中没有给字段赋值默认为null 当你从数据库中查出来也是null 如果该字段在对应的Java代码中是int类型 null不能对应int类型 因为int代表的是基本数据类型 只能是基本的数字 2 实体类的属性你可以给它赋值也可
  • 三分钟教你学Git(二十一) - 复制连续多个提交

    有时候我们有一个分支A 里边包含了提交A1 gt A2 gt A3 gt A4 gt A5等 然后我们又有一个分支B 里边包含了提交A1 gt A2 gt B1 gt B2 gt B3 现在我们想把分支A中的A3 A4 A5版本复制到分支B
  • vue3项目实战+element-plus

    记录自己搭建前端项目的学习过程和开发过程 希望一起学习进步 采用Vue3 element plus axios vue router sass 目前刚开始是用到了这些 随着开发慢慢更新 npm是比较慢的 所以我用的是pnpm 安装指令 np

随机推荐

  • 播放raw下的音乐文件

    在开发的过程中 我们需要一些不需要用户改变的音乐或图像文件 这些文件存在安卓res raw文件夹中 下面就介绍如何播放res raw文件夹中的乐 1 在res目录下新建一个raw文件夹 2 界面上 xml文件中有一个按钮控件 当我们点击按钮
  • 迭代器模式c++实现

    参考书籍 Head First设计模式 需求场景 餐馆和咖啡馆的菜单分别是用数组和容器 vector 存储的 有一天餐馆和咖啡店合并了想要打印菜单 必须实现两个不同的遍历 数组用sizeof计算长度 用 取元素 容器用size取长度 用at
  • 第二阶段 归纳总结

    总结归纳 文章目录 总结归纳 计算机理论基础为 的童鞋 一二阶段是基础 三四阶段是应用 1 Linux操作系统使用 2 数据机构 3 IO网络编程 4 并发编程 5 正则表达式 6 Mysql数据库 7 git使用 8 项目综合 聊天室 f
  • 2023年十大无代码测试工具 每个测试人员都应该知道

    编码 跟很多技能一样 需要多年的实践才能熟练掌握 让测试人员编写一堆代码组成测试程序 修复程序中的错误 并在几周内完成大量工作很有难度 根据2019 2020年世界质量报告 在敏捷项目中应用自动化测试的最大的问题就是很多测试人员缺乏专业编程
  • 双因素方差分析 matlab,MATLAB的双因素有交互效应的方差分析

    二 MATLAB的双因素有交互效应的方差分析在两个因素的试验中 不但每一个因素单独对试验结果起作用 往往两个因素的不同水平组合还会产生一定的合作效应 在方差分析中称为交互效应 交互效应在对因素方差分析中 通常是当成一个新因素来处理 设因素A
  • Django学习

    创建项目 django admin startproject mysite 目录结构如下 查看帮助 终端页面输入以下命令 django admin help django admin help Type django admin help
  • 缺陷检测数据集

    缺陷检测数据集 东北大学钢材表面缺陷数据集 铁质缺陷 东北大学钢材表面缺陷数据集 简介 该数据集是东北大学宋克臣团队制作而成 是钢材表面缺陷数据集 共有1800张图片 包含六种类型共有六种缺陷 crazing inclusion patch
  • Vue中路由vue-router的使用

    基本使用 1 安装vue router 命令 npm i vue router 2 应用插件 import VueRouter from vue router Vue use VueRouter 3 编写router配置项 import V
  • python中判断 nan 的几种方式

    float NaN 判断 float NaN float NaN pandas中的 nan 判断 pd isnull df1 df1 是DataFrame对象 也可以是Series对象 pd isna 直接判断DataFrame某一列是否为
  • Springboot自定义ThreadPoolTaskExecutor线程池多线程并发执行异步方法

    1 背景 当前因为工作需求 要发送大量Http请求 经过实践遍历发送需要6小时才能发送完毕 如果单线程发送请求会导致主线程阻塞 就会存在以下问题 前端用户等待响应时间过长 无法进行下一步操作 不利于用户操作系统 响应时间过长超过Tomcat
  • 内存分页

    内存分页 p Description 内存分页 p param records 待分页的数据 param pageNum 当前页码 param pageSize 每页显示的条数 return 分页之后的数据 public static
  • Git——C站最详细的Git教程,一篇学会Git(window\linux通用)

    Git C站最详细的Git教程 一篇学会Git window linux通用 文章目录 Git C站最详细的Git教程 一篇学会Git window linux通用 Git简介 Git 作用 为什么要进行源代码管理 Git的诞生 Git管理
  • vue双向数据绑定指令v-model

    vue双向数据绑定指令v model v model 被称为双向数据绑定指令 就是Vue实例对数据进行修改 页面会立即感知 相反页面对数据进行修改 Vue内部也会立即感知 v model 是vue中唯一实现双向数据绑定的指令 v bind
  • mybatis增删改查的写法集合

    增删改查的写法集合 注意 xml文件尽量不要注释 Usermapping public interface UserMapping 查询 List
  • mysql建_mysql简单建表

    NULL 和 NOT NULL 修饰符 可以在每个字段后面都加上这NULL 或 NOT NULL 修饰符来指定该字段是否可以为空 NULL 还是说必须填上数据 NOT NULL MySQL默认情况下指定字段为NULL修饰符 如果一个字段指定
  • 《Kafka系列》Java测试远程连接Kafka,实现生产者和消费者,发现两者数据不通?

    Java测试远程连接Kafka 实现生产者和消费者 发现两者数据不通 错误显示 错误排除 1 在网上看到有这种方法 修改Kafka下的conf下的server properties文件 cd opt apps kafka conf serv
  • Stream流

    概念 是JDK1 8的新语法 和IO流不是一个东西相当于流水线 很方便的对数据进行加工 Stream流把真正的函数式编程风格引入到Java中 代码简洁 Stream流不能直接修改数据源中的数据 不使用Stream流的优势是加工处理数据 每个
  • buuctf_Exec

    0x01 题目链接 BUUCTF在线评测BUUCTF 是一个 CTF 竞赛和训练平台 为各位 CTF 选手提供真实赛题在线复现等服务 https buuoj cn challenges 0x02 题目 打开题目就看到大大的PING 二话不说
  • 在存储过程中使用了DML语句要不要调用COMMIT?

    要调用commit语句 或者正常退出sqlplus 系统会自动提交 dml语句不能自动提交 ddl语句和dcl语句可以自动提交 转自 http bbs csdn net topics 80160481
  • 胶囊体阴影

    官方介绍 虚幻引擎现在支持非常柔滑的间接阴影 由代表角色的胶囊体来进行投影 通常 在受间接光照时 并不会产生阴影 除非是屏幕空间环境遮罩 间接投影需要做的非常柔滑 因为间接光照是来自很多不同的方向 因此 传统的阴影贴图做法的效果并不好 间接