阿赵UE学习笔记——14、LOD

news2025/1/6 19:26:52

阿赵UE学习笔记目录
  大家好,我是阿赵。
  继续学习虚幻引擎的用法。这次看看虚幻引擎的Level Of Detail(LOD)的用法。

一、测试场景准备

  用植物系统,在地形上面刷了好多草:
在这里插入图片描述

  这个时候看一下网格,会发现网格比较多和密集。
在这里插入图片描述

二、LOD系统的测试

  接下来,对这个草的模型的LOD进行一下调整,先找到使用在植物系统的这棵草的模型:
在这里插入图片描述

  在打开的网格体编辑窗口,为了看到模型的布线,我暂时改成了线框模式。然后前后移动一下摄像机,会看到左上角的信息发生变化,一开始是LOD等级0,三角形数是1352,这时候当前屏幕大小是0.6左右:
在这里插入图片描述

  拉远一点之后,会发现LOD等级变成1,三角形数变成了676,当屏幕大小是0.24左右:
在这里插入图片描述

  再拉远一点,会发现LOD等级变成2,三角形数变成338,当前屏幕大小是0.01左右:
在这里插入图片描述

  这说明了UE的网格已经自带了LOD功能。不过由于LOD的参数都是默认的,所以效果并没有很理想。接下来我对LOD的设置进行一定的修改。
  在右边的细节面板里面,可以找到LOD选取器,默认是LOD Auto,意思是根据当前的模型占屏幕大小来显示LOD:
在这里插入图片描述

  把下拉框点开之后,就可以选取不同的LOD等级,然后进行编辑:
在这里插入图片描述

三、调整LOD生效范围

  从刚才的实验可以知道,看起来LOD好像是根据距离来生效,但实际上来说,并不是距离,而是模型占屏幕的大小来让LOD产生效果的,所以调节屏幕尺寸,会让不同的LOD等级在不同的显示大小时生效:
在这里插入图片描述

  在LOD设置里面,还有一个自动计算LOD距离的选项,如果把这个选项勾上了,那么上面的LOD等级的屏幕尺寸就会变成不可编辑状态。
我调整一下LOD1的屏幕尺寸,把它改成0.6:
在这里插入图片描述

  那么当屏幕尺寸小于0.6的时候,LOD1就会生效了:
在这里插入图片描述

  我们一直都是用着同一个静态网格模型来进行LOD变化的,并不会像Unity那样不同的LOD等级一定要自己做一个低边模型放进去。因为UE的LOD,是有自动减面的功能。
  所以在简化设置里面,会有一个三角形百分比。我们可以通过调整这个百分比,来决定当前的LOD等级生效时,网格模型会被简化成什么样子。
在这里插入图片描述

  百分比调得越低,三角面就越少,而同样的模型的细节就会越少。
在这里插入图片描述

四、不同LOD使用不同材质实例

  由于在前面的文章里面,我已经把草加上了随风摆动的效果。但到了这个LOD调整的时候,我想达到的目的是,只有最近一层的草,才会有风摆动动画,后面的等级都不需要动画。
  由于之前的学习知道,风摆动动画是在材质实例里面设置了风的参数,那么如果有不需要风的时候,就必须要复制一个材质实例了:
在这里插入图片描述

  然后把风的选项勾选去掉
在这里插入图片描述

  回到草的静态网格编辑,找到材质插槽,新增一个插槽,并且把刚才的noWind材质实例拖进去
在这里插入图片描述

  这个时候,在指定LOD等级的编辑里面,就可以选择不同的材质球使用了,我把LOD1和LOD2的材质都换成noWind的。
在这里插入图片描述

  这样设置之后,我的目的已经达到了,只有最近的一层是有风摆动的动画了。

五、自定义LOD模型

  如果觉得UE的减面效果不好,想像Unity一样自己替换模型来做LOD,也是可以的,在LOD设置里面,找到重新导入LOD级别的选项:
在这里插入图片描述

  就可以重新选择一个模型导入到该LOD级别:
在这里插入图片描述

  做完了上面的设置之后,再回到场景里面看看,会发现LOD已经是调整过后的效果了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1424344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

中国的茶文化:历史、传统与生活

中国的茶文化:历史、传统与生活 一、引言 茶,这一神奇而古老的饮品,与中国的历史、文化和生活方式紧密相连。中国的茶文化,源远流长,博大精深,是中华文明的重要组成部分。它不仅是一种饮料,更是…

阿里云推出 3.x Java 探针,解锁应用观测与治理的全新姿势

作者:张铭辉、泮圣伟 前言 随着春节大促即将到来,为了确保线上业务高效稳定地运行,电商企业大多会对旗下关键业务应用进行多轮测试。通过模拟线上较高流量的请求,来观察服务性能的实际表现。以某企业的业务测试报告举例&#xf…

vue-cli初始化项目很慢?

第一种情况 大部分是由于npm的镜像源不是淘宝的 cmd输入npm config get registry查看是不是淘宝的,是的话看第二种情况试试不是的话输入npm config set registry https://registry.npm.taobao.org 第二种情况 vue-cli配置文件不是使用淘宝镜像源的 找到文件.vue…

sklearn 计算 tfidf 得到每个词分数

from sklearn.feature_extraction.text import TfidfVectorizer# 语料库 可以换为其它同样形式的单词 corpus [list(range(-5, 5)),list(range(-6,4)),list(range(12)),list(range(13))]# corpus [ # [Two, wrongs, don\t, make, a, right, .], # [The, pen, is, might…

深入浅出HBase:一文理解HBase基础概念(列存储、时间戳、key-value)、架构特点以及适合的使用场景

文章目录 一. HBase 数据模型1. 行存储与列式存储1.1. 行存储1.2. 列存储 2. HBase 数据模型2.1. 模型概览2.2. 列与列族2.3. 时间戳:定义数据版本2.4. HBase的Key-Value 三. HBase架构1. HBase读写流程简述2. HRegionServer内部内部数据流转:HRegion &l…

SparkStreaming---入门

文章目录 1.SparkStreaming简介1.1 流处理和批处理1.2 实时和离线1.3 SparkStreaming是什么1.4 SparkStreaming架构图 2.背压机制3.DStream案例实操 1.SparkStreaming简介 1.1 流处理和批处理 流处理和批处理是两种不同的数据处理方式,它们在处理数据的方式和特点…

【GameFramework框架】一、框架介绍

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录: https://blog…

Flink 读取 Kafka 消息写入 Hudi 表无报错但没有写入任何记录的解决方法

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,京东购书链接:https://item.jd.com/12677623.html,扫描左侧二维…

node,node-sass,sass-loader之间的版本关系

前言 安装配置node-sass 以及 sass-loader想必是很多前端的噩梦–一不小心又不成功还得装个半天。 下面说一下这个问题。 当然,你肯定遇到过: Node Sass version 9.0.0 is incompatible with ^4.0.0-这样的问题,这个也是因为三者关系对不上…

【HTML 基础】表单标签

文章目录 1. <form>2. <input>3. <select> 和 <option>4. <textarea>5. <button>结语 HTML 表单是互联网上交互性最强的元素之一&#xff0c;它允许用户输入、选择和提交数据。在这篇博客中&#xff0c;我们将介绍 HTML 中一些关键的表单标…

手把手教你写架构(java)篇

领取资源在文章末尾。 架构部分&#xff1a; 1. 分层架构&#xff08;Layered Architecture&#xff09;&#xff1a;将应用程序分解为多个逻辑层&#xff0c;每个层都有明确的职责。常见的分层包括表示层&#xff08;Presentation Layer&#xff09;、业务逻辑层&#xff08…

torchvision.models._utils.IntermediateLayerGetter()使用

torchvision.models._utils.IntermediateLayerGetter&#xff08;&#xff09;使用 源码如下&#xff1a; from collections import OrderedDictimport torch from torch import nnclass IntermediateLayerGetter(nn.ModuleDict):"""Module wrapper that ret…

电脑配置在哪里看?别错过这四个方法

在使用电脑的日常操作中&#xff0c;了解电脑的硬件和软件配置是解决问题、优化性能以及购买新硬件的关键。然而&#xff0c;对于一些用户来说&#xff0c;查看电脑配置可能是一个看似复杂的任务。幸运的是&#xff0c;有多种简便而直观的方法&#xff0c;让您能够轻松获取电脑…

【python】在python中使用单元测试unittest

在python中使用单元测试unittest 大家好&#xff0c;欢迎来到我的技术乐园&#xff01;今天&#xff0c;我们将一起踏入Python单元测试的奇妙旅程&#xff0c;探索这个让我们的代码更可靠、更强壮的令人愉快的世界。 前言&#xff1a;为什么单元测试如此重要&#xff1f; 在我…

如何访问 Oracle OKE 集群

OKE是Oracle Cloud提供的托管Kubernetes服务&#xff0c;为用户提供强大而灵活的容器编排平台。在本文中&#xff0c;我们将详细介绍如何有效地与OKE集群进行交互&#xff0c;包括访问集群的不同方式、管理访问权限以及执行常见操作的步骤。 1 安装oci命令 1.1 在Oracle Linux…

智慧城市行业盛会:2024北京国际智慧城市展览会(世亚智博会)

随着科技的飞速进步和人们生活水平的不断提高&#xff0c;智慧城市建设已经逐渐成为当今社会的重要议题。为了展示和推广国内外数字技术与新应用成果&#xff0c;引领数字产业发展新方向&#xff0c;积极推动5G、人工智能、大数据、云计算、物联网、移动互联网、元宇宙等新型数…

Java编程练习之类的封装

1.把一个Student类封装起来&#xff0c;模拟一个转校生转入新学校后为其制作学生信息的过程。运行结果如下&#xff1a; package zhtestdemo; import java.util.Scanner; import java.text.DecimalFormat; public class demo { //创建类&#xff0c;类名叫demo; private Stud…

Transformer 自然语言处理(二)

原文&#xff1a;Natural Language Processing with Transformers 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第五章&#xff1a;文本生成 基于 Transformer 的语言模型最令人不安的特点之一是它们生成的文本几乎无法与人类写的文本区分开。一个著名的例子是 Ope…

二、人工智能之提示工程(Prompt Engineering)

黑8说 岁月如流水匆匆过&#xff0c;哭一哭笑一笑不用说。 黑8自那次和主任谈话后&#xff0c;对这个“妖怪”继续研究&#xff0c;开始学习OpenAI API&#xff01;关注到了提示工程(Prompt Engineering)的重要性&#xff0c;它包括明确的角色定义、自然语言理解&#xff08;…

VSCode 设置代理

Open Visual Studio Code, click the settings icon in the lower left corner, and click Settings.