UE5黑客帝国3d print假室内的一些使用记录
由于本人理解确实不太到位,本文涉及原理会比较少,更多偏实践一点。旨在记录一下将ue5 3d print假室内制作方式移植到ue4的一些过程和思路。
首先上原视频,在40min左右有提到这个方法
[技术演讲]黑客帝国觉醒:创造世界(官方字幕)_哔哩哔哩_bilibili了解Epic的特别项目团队如何利用UE5创建《黑客帝国觉醒》中的环境。我们将介绍:用于创建建筑物的模块化程序方法;开放世界工作流程(一Actor一文件、数据层、HLOD、关卡实例化);材质与纹理的外观开发详解;全局光照和反射系统Lumen的最新改进。https://www.bilibili.com/video/BV1TP4y1T7Pj/?spm_id_from=333.788
材质概览
原材质在城市示例工程中搜材质M_Window就能找到
ue4中的还原效果
经过一番秃头整理后留下的主干长这样
float2 uvOut = uv+v.xy*(-1)/dot(v,float3(0,0,1));
float alpha = 0;
uint2 Random = Rand3DPCG16( uint3( PixelPos, View.StateFrameIndexMod8 ) ).xy;
float i=0;while (i<Steps){float h = (i+lerp(0,Hammersley( i, Steps, Random ).x-.5,DitherSteps))/Steps;float2 uvCurrent = uv+v.xy*(-1+h)/dot(v,float3(0,0,1));float2 intersect = Tex.SampleGrad(GetMaterialSharedSampler(TexSampler,View.MaterialTextureBilinearClampedSampler),float3(uvCurrent+Distort,index),InDDX, InDDY).xy;if( h > (1-intersect.y) && h < intersect.x ){if(uvCurrent.x > 0 && uvCurrent.x < 1 && uvCurrent.y > 0 && uvCurrent.y < 1){uvOut = uvCurrent;alpha = 1;}}i++;
}return float3(uvOut.x,uvOut.y,alpha);
在这个custom节点中输入uv、深度图等信息,就能在输出的rg通道中得到物体颜色的uv,g通道得到深度的mask
贴图生成
拿来了这个custom之后就需要创建所需的包含深度和颜色信息的两张贴图
我在这是直接用的2d scene capture来拍摄
颜色直接拍(但我不理解为什么要拍前后两张,实践下来拍从前到后的一张就够了)。深度则需要给被摄物体创建一个深度材质,把物体的world position归一化后输出到basecolor,分别从前到后,从后到前算出一个在格子内的0-1的深度,再将两张图存入最终深度贴图的r和g通道即可
这个方法还不成熟所以这里就不过多展开了,大佬们多在评论区教教谢谢
2d预投影背景
官方的案例用的是引擎自带的cubemap做法,这里为了节省性能换成了2d预投影
具体可以参考这位劳斯的文章
案例学习——Interior Mapping 室内映射(假室内效果) - 知乎最近油管推荐了Interior Mapping的教程,发现很有意思 好像各种资料都比较零散,于是到处搜集了一些,有了这篇文章汇总,一起学习学习 0 效果展示因为有点长,所以先展示一些效果 以一张2d投影图为基底,用alpha…https://zhuanlan.zhihu.com/p/376762518
背景图依然用2d scene capture拍摄,但是perspective,53.13度
Tiling和随机分布
背景的tiling在上面的截图里有了
物体:只要把主干部分输入的uv换成蓝框就tiling完了
因为有随机分布n种物体的需求所以研究了一下,这里主要参考的是dokipen这个系列视频的思路
https://www.youtube.com/watch?v=ssXu_O11gb4&list=PLHadbgEqCTxAQ59lMgSgTCffqkrnGV1Y1https://www.youtube.com/watch?v=ssXu_O11gb4&list=PLHadbgEqCTxAQ59lMgSgTCffqkrnGV1Y1
给tiling后的每个格子一个0-1的随机数,然后乘上n就能得到n个index,把这个index给两张贴图就行
两个随机是为了增加随机性,种类随机用一种,可见性用另一种。
上面那条棋盘格是为了隔开相邻的几个index减少重复度用的,缺点是index为0和n-1的两种图案会变多。不需要的话去掉最后的add即可。不知道有没有更好的减少相邻格子重复度的方法,教我!
加入custom primitive data是为了方便每个模型使用不同的随机值,避免重复
此处懒得找n种图来录效果了 有空再补视频
这里还能衍生出一个控制可见度的参数
mf中输出的随机数对b通道这样操作一下就能使一些随机的格子里不显示物体,visibility可以用来控制空格子的比例
先写这么多8,有机会的话会再完善下(本文转载自我自己的知乎)
UE5黑客帝国3d print假室内的一些使用记录相关推荐
- 案例学习——Interior Mapping 室内映射(假室内效果)
最近油管推荐了Interior Mapping的教程,发现很有意思,但各种资料似乎比较零散 于是到处搜集了一些,有了这篇文章汇总,一起学习 案例学习--Interior Mapping 室内映射(假室 ...
- 3D游戏建模室内材质调整方法
室内材质调整方法:一.木纹材质调整方法 1.木纹材质的肌理调整: 使用过度色通道贴图后加入凹凸通道贴图,使木纹有凹凸感,肌理更明显凹凸通道强度通常为30% : 材质球的高光强度(specular le ...
- Tango手机分析 3D点云 室内环境重建
之前一直在PC使用pmd pico flex深度相机,从上一篇文章开始尝试使用Tango手机.Tango手机集成了pmd Sunny深度相机. tango渲染3D方式 tango范例通过2种方式来显示 ...
- 关于3D空间旋转的相关内容的记录(Euler Angles, Gimbal Lock, Quaternion, iOS CMAttitude)
概述 最近看了些旋转相关内容,记录一下自己的理解和总结.更详尽的内容可以查看参考资料里的文章,讲得很棒. 3D空间旋转的表示方法 可以使用不同的方式表示3D空间里的旋转. Euler Angles(欧 ...
- Unity 3D 官方教程—— 2D Physics系列 学习记录
1.2D Physics Overview 1.2D Physics游戏对象和3D Physics游戏对象可共存在一个场景,但是它们不能相互反应(interact with each other). ...
- Blender 3D 打印插件Print Toolbox
Blender 3D Print Toolbox Statistics 统计,可以提算出模型的体积,可供打印备料参考. Error Checking 错误检查 Solid 检查模型是否完整正确,是否有 ...
- 【CVPR2020】3D目标检测论文汇总
文章目录 1. 3D目标检测--室外 1. Associate-3Ddet: Perceptual-to-Conceptual Association for 3D Point Cloud Objec ...
- 玩好3D打印机从了解切片软件开始
每个人想要从身边的3D打印机中最快速的获得最佳打印效果,除了设计优化.3D打印机和打印材料之外,还有一个更重要的环节就是切片软件,它对打印结果起着重要作用,我们可以把切片软件理解为从数字模型到实体模型 ...
- 汇总|基于激光雷达的3D目标检测开源项目数据集
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 前言 这一片文章主要介绍目前3D目标检测的一些比较重要的数据集合在github上比较好用的3D目标检测 ...
最新文章
- Spring Boot + Vue 如此强大?
- cxf开发实践(添加SSL支持)
- 进程间通信——DLL共享节
- 泛在电力物联网分析—架构形式
- js修改本地json文件_Flutter加载本地JSON文件教程建议收藏
- 原来这些元器件最容易引发电路故障。。。
- ReLU为什么比Sigmoid效果好
- 几款知名RTMP推流模块比较:OBS VS SmartPublisher VS Flash Media Live Encoder
- bl系列刀片(blade)服务器,HPE Integrity BL870c i6 刀片服务器
- python爬取人口数据_爬取人口数据
- 几个LabVIEW软件欢迎页面
- 虚拟化高级应用、Win快捷键操作 、 Win+R快速调用
- Elasticsearch: 运用 Pinned query 来提高文档的排名 (7.5发行版新功能)
- css表格随内容变化,css 使表格随着内容自动适应宽度
- 深度之眼Pytorch打卡(十三):Pytorch全连接神经网络部件——线性层、非线性激活层与Dropout层(即全连接层、常用激活函数与失活 )
- 电商实时交易风控系统
- 设计数据密集型应用——分布式系统的麻烦(8)
- android音乐播放器sd,Android音乐播放器(2)从SD卡中读取音乐
- PPT精品模板:个人创意销售企业公司介绍PPT
- Json完整版介绍和工具类解析应用
热门文章
- Web安全(图片验证码大小可控导致ddos)
- 【读书笔记】金字塔原理-学习总结
- Scrum Master Mock Test (1)
- c 传递流java 生僻字_Java语言中的生僻知识
- Memory and Crow(CodeForces 712A)
- 在探索中享受童年般的乐趣 |Mixlab的故事
- 大学毕业论文指导-内容陈述
- 内蒙古计算机考研学校选择,2020内蒙古考研指南-这些没有A+的院校你会选择吗...
- 使用Labelimg打标签
- 戴口罩的这一年,AI产业如何“重启、重塑、重构”?