4.4 特效优化注意点

一、特效模型制作标准和注意事项
1.特效模型面数最大500(面数可以加到1000,但是要分Lod等级)
(模型对打面熟需要根据项目需求做好规范,例如Lod0 1000Tris, Lod1...Lod3 100Tris,最好以引擎内的三角面为准)
2.特效中如果使用到骨骼动画,骨骼数量尽量不要超过30(这个也是最好分Lod等级)
3.特效中模型不要使用mesh collider(模型碰撞体)
4.特效中的模型导出时关闭动画以及材质球
(在DCC软件中导出FBX时不要烘焙动画,所有角色模型归为原点,除特殊情况,通常以物体对象中心为轴心Xform模型,检查模型发现方向是否正确,合并顶点,清除场景,删除没有用的一切物件,清空材质球,产出多于的材质球,导出)
二、模型合并以及裁剪模型的方法
1.模型合并(看链接视频演示)

STATISTICS

AUDIO:

DSP LOAD:0.2%

LEVEL:-74.8 DB

CLIPPING:0.0%

STREAM LOAD:0.0%

GRAPHICS:

177.2 FPS(5.6MS)

CPU:MAIN 5.6MS RENDER THREAD 0.3MS

SAVED BY BATCHING:0

BATCHES:12

TRIS: 276 VERTS:354

SCREEN:1280X720-10.5 MB

SHADOW CASTERS: 0

SETPASS CALLS:12

VISIBLE SKINNED MESHES: 0 ANIMATIONS:0

底部和中心部分各有一个光源,目前是用两个模型圆片加贴图实现,

现在我们可以把这两个模型合并成一个,来减少他的DRAWCALL值

image.png

我们先把两个圆片模型放到3DMAX里面,摆好原本光效对应

的位置

image.png

WWW.BANDICAM.COM

PRESERVE UVS

COLLAPSE

CREATE

DETACH

ATTACH

SPLIT

PLANE

RESET PLANE

SLICE

CUT

QUICKSLICE

NURMS TOGGLE

SELECTION

IGNOREBACKFACING

MSMOOTH

TESSELLATE

VIEWPORT LIGHTING AND SHADOWS

COLLAPSE

MAKE PLANAR

X

Z

ATTACH

ISOLATE SELECTION

BY VERTEX

CUT

END ISOLATE

VIEW ALIGN

GRID ALIGN

IGNORE BACKFACIN

QUICKSLICE

UNFREEZE ALL

BYANGLE:

RELAX

FREEZE SELECTION

REPEAT

SHRINK

UNHIDE BY NAME

GROW

HIDE SELECTED

UNHIDE ALL

ELEMENT

UNHIDE ALL

POLYGON

RING

LOOP

HIDE UNSELECTED

HIDE UNSELECTED

BORDER

PREVIEWSELECTION

NAMED SELECTIONS:

HIDE SELECTION

EDGE

OFFCSUBOBJ

MULTI

COPY

PASTE

VERTEX

STATE SETS

TOP-LEVEL

DELETE ISOLA TED VERTICES

MANAGE STATE SETS...

WHOLE OBJECT SELECTED

DISPLAY

TOOLS

FULL INTERACTIVITY

TOOLS 2

TRANSFORM

CREATE

MOVE

SUBDIVISION SURFACE

SOFT SELECTION

ROTATE

SMOOTH RESULT

SCALE

SELECT

USE NURMS SUBDIVISION

SELECT SIMILAR

ISOLINE DISPLAY

CLONE

SHOW CAGE......

OBJECT PROPERTIES...

DISPLAY

CURVE EDITOR...

ITERATIONS:

DOPE SHEET...

SMOOTHNESS:

1.0

WIRE PARAMETERS...

RENDER

CONVERT TO EDITABLE MESH

CONVERT TO:

ITERATIONS:0

CONVERT TO EDITABLE POLY

SMOOTHNESS:1.0

摆好位置后随便选中一个模型右键找到CONVERT TO里面

ONVERT TO DEFORMABLE GPOLY

CONVERT TO EDITABLE PATCH

SEPARATE BY

的POLY,点击后右边会出现一个栏目找到ATTACH,点击

SMOOTHING GROUPS

ATTACH在去选中另外一个模型就可以合并了

MATERIALS

UPDATE OPTIONS

ALWAYS

WHEN RENDERING

image.png

TATISTICS

AUDIO:

GRAPHICS:

LEVEL:74.8 DB

CPU:MAIN 6.6MS RENDE

CLIPPING:0.0%

BATCHES:3

SAV

GRAPHICS:

TRIS:6 VERTS:12

SCREEN:1280X720-10.5

CPU:MAIN 7.7MS RENDER TH

SETPASS CALLS:3HA

BATCHES: 2

SAVED

TRIS:68 VERTS:76

VISIBLE SKINNED MESHES:

SCREEN:1280X720-10.5 ME

SETPASS CALLS: SHADOV

VISIBLE SKINNED MESHES: 0

可以看到左边模型合并后达到的效果一样且DRAWCALL值只有2,右图原效果DRAWCALL为3

在两个模型用同一张贴图时合并后不用去改合成模型的UV,如果你要求底部的模型显示

贴图1,上面的模型显示为贴图2时,这个时候需要修改模型UV以及对应的贴图,在下面我会展示实现方法.

image.png

BANDICAM.COM

WWW.

CORK PASSIVE02_YUANPIAN1

UNWRAP UVW

PARTICLE FACE CREATOR

ALIG

PARTICLE SKINNER

X

PATCH SEL

PATELIDEFORM

PATHDEFORM

PHYSIQUE

POINT CACHE

POLY SELECT

PRESERVE

1

PROJECTION

PROOPTIMIZER

PUSH

QUADIFY MESH

RELAX

RIPPLE

SELECT BY CHANNEL

SHELL

SKEW

SKIN

SKIN MORPH

SKIN WRAP

SKIN WRAP PATCH

SLICE

SMOOTH

SPHERIFY

SQUEEZE

STL CHECK

STRETCH

SUBDIVIDE

SUBSTITUTE

SURFDEFORM

SYMMETRY

TAPER

TESSELLATE

TURBOSMOOTH

TURN TO GPOLY

TURN TO MESH

选中已经合并的模型,点击右边栏目找到UNWRAP UVW

TURN TO PATCH

TURN TO POLY

TWIST

INWRAP UVW

UVW MAP

UVW MAPPING ADD

image.png

WWW.BANDICAM.COM

EDIT UVWS

CORK PASSIVE02 YUANPIAN1

EDIT SELECT TOOLS MAPPING OPTIONS DISPLAY VIEW

FILE ED

MODIFIER LIST

CHECKERPATTERN(CHECKER)

UV

UNWRAP UVW

ALIGN O

QUICK TRANSFORM

POLY

EDITAB

RESHAPE ELEMENTS

STITCH

SELECTION

DISPLAY

EXPLODE

MAP

MODIFY SELECTION:

PEEL

WELD

THRESHOLD:

SELECT BY:

0.01*

NOR

PEEL

DETACH

EDIT UVS

OPEN UV EDIL

TWEAK IN VIEW

ARRANGE ELEMENTS

V RESCALE

ROTATE

CHANNEL

PADDING:

RESET UVWS

SAVE...

三十三三+

0.0

LOAD...

CHANNEL:

ALL IDS

MAP CHANNEL:

VERTEX COLOR CHANNEL

点开UNWRAPUVW后,找到下面的OPEN UV点击就可以进入左边UV窗口了,如果你想要一个模型

上显示不同的特效,前提是你得把UV分开,然后使用对应UV的贴图,即可实现效果

PEEL

image.png

未标题-1副本.TGA(512X512像素,1M...

X

12

RMA

3

CHANNEL

RESET UVWS

SAVE...

贴图对应模型UY,其实只要用到模型的特效缩放位移和UV流动还有叠加方式一致,完全可以合并在一个模

型上去实现效果

image.png


2.模型裁剪

特效模型没有使用到的地方我们可以在3DMAX里裁剪到这部分,

image.png

ISOIATE SEIECTION

END ISOLATE

CUT

UNFREEZE ALL

SLICE

HALF BALL

FREEZE SELECTION

REPEAT

BACK

UNHIDE BY NAME

ELEMENT

MODIFIER LIST

UNHIDE ALL

POLYGON

EDITABLE POLY

HIDE UNSELECTED

BORDER

HIDE SELECTION

EDGE

STATE SETS

VERTEX

TOP-LEVEL

MANAGE STATE SETS...

DISPLAY

TOOLS1

TRANSFORM

TOOLS 2

CREATE

MOVE

ROTATE

SCALE

SELECT

SELE CT SIMILAR

CLONE

OBJECT PROPERTIES..

CURVE EDITOR...

厂BY VERTEX

DOPE SHEET...

IGNORE BACKFACING

WIRE PARAMETERS..

CONVERT TO EDITABLE MESH

BY ANGLE:45.0

CONVERT TO:

CONVERT TO EDITABLE POLY

SHRINK

GROW

CONVERT TO DEFORMABLE GPOLY

右键模型找到CONVERTT.里面的POLY,点击后在右键

RING

LOOP

CONVERT TO EDITABLE PATCH

PREVIEW SELECTION

模型找到右边的CUT,对模型进行切割,可以把特效

O SUBOBJ

OFF

MULTI

贴图赋予在模型上在去做裁剪,切割完后选择3里的

WHOLE OBJECT SELECTED

方块图标然后选择多余的面数DELETE

image.png


三、贴图合并以及制作标准
1.特效贴图执着标准和注意事项
1.1 贴图要统一是2的n次幂
●特效纹理尺寸移动端一般≤512
●只要特效纹理大小保持为2的幂,可以有像256x32这样的矩形纹理
●尽量使用正方形纹理,因为他们能更方便合成Atlas图集,更有效的利用内存
●简单常用的特效纹理尽量合并到一张贴图上,通过OffsetUV来获取对应的贴图,减少内存占用和Material数量
1.2 尽量少用Alpha通道,RGB通道可以存不同的图来分别采样,减少内存占用
●纯灰度图尽量使用PNG格式容量更小,带有Alpha通道的贴图可以使用TGA格式
1.3 一些规则的几何图形尽量使用Shader制作矢量
1.4 特效贴图关闭Mipmap,当我们开启了Mipmap后,贴图就会自动生成多级LOD图片,在运行时根据距离自动切换已解决远距离贴图减少消耗的问题。但同时贴图也会增大约30%的空间占用。
2.贴图合并

STATISTICS

AUDIO:

LEVEL:-74.8 DB

DSP LOAD:0.2%

CLIPPING:0.0%

STREAM LOAD:0.0%

GRAPHICS:

1229.3 FPS(0.8MS)

CPU:MAIN 0.5MS RENDER THREAD 0.7MS

SAVED BY BATCHING: 0

BATCHES:18

VERTS:1.1K

TRIS:1.2K

SCREEN:1280X720-10.5 MB

SETPASS CALLS:17

SHADOW CASTERS:0

VISIBLE SKINNED MESHES: 0 ANIMATIONS: 0

在同一个位置的纹理运动大致相同的情况下

可以选择合并这些图,用一个模型来达到我

们想要的效果

image.png

MW.BAND!@AM 002.TGA(256X2...........

EFF_OBJECT 128 031.TGA(128X12..... 三 三

三0XI口

X

ASHE SKILLB01 HIT SKIN..IAN1.PNG (5....

EFF_OBJECT_256X32_001.TGA (256X32...

利用PS去合成一张图,这样可以节省很多资源

一张贴图可以获得三倍快乐

image.png


四、Overdraw和粒子优化
1.关于Overdraw

OVERDRAW其实就是重复绘制的意思.正常不透明模型,是会把遮挡物体易除掉就不绘制那部分东西

就没有重复绘制的工作量.但是透明物体不能易除遮挡,所以,假设有10个面片重叠,它就会绘制10次

比不透明的绘制一次多了10倍消耗.我只是夸张点,实际上没有10倍

透明材质的滥用,SHADER的复杂度都会增加OVERDRAW

制作UI动效时也要特别注意

可以CUTOUT的就不要用透明材质

image.png

同为负优化的极限情况下,

不允许

大面积的少量重叠比小面积的大量重叠消耗更大

最佳

可接受!

负优化

ON

IES

image.png


2.粒子制作标准和注意事项

(1)粒子最大数量需要根据不同LOD来做分级

根据项目需求来制定EMITTER发射粒子的最大数量限制

比如LODO是50,依次减少LOD1是20....LOD3直接关闭EMITTER

(2)尽量不要用粒子来发射模型

(3)粒子发射器中的SCALING MODE 设置为HIERARCHY这样粒子去缩放时不会出现显示问题,提商粒子特效在不同大小情况下的复用住

(4)在制作完粒子特效后,根据当前粒子感高峰值数量去测整MAXPALDES,如果你当前转效消样粒于数量为10,而你设置了20的最大值,那么

后台就会给你留20个位置,但是你最终只使用了十个,会浪费空余的性能

(5)NOISE类的功能要谨慎使用

image.png


粒子的内存占用受max影响,默认1000(太耗)。
3.粒子优化方式

PERSP

PARTICLE EFFECT

STOP

RESTART

PAUSE

1.00

PLAYBACK SPE

7.60

PLAYBACK TIME

可以看到当前这个特效的粒子数量最高峰值为30,这显然太过消耗

30

PARTICLES

0.1 -11.7

SPEED RANGE

性能了,我们可以在贴图,

粒子发射数量,以及发射速度上去做改

SIMULATE LAYERS

NOTHING

动,来减少消耗

RESIMULATE

SHOW BOUNDS

SHOW ONLY SELECTED

image.png

CT

WWW.BANDI

3D START ROTATION

360

START ROTATION

FLIP ROTATION

START COLOR

GRAVITY MODIFIER

O

SIMULATION SPACE

LOCAL

SIMULATION SPEED

1

SCALED

DELTA TIME

SCALING MODE

LOCAL

PLAY ON AWAKE*

RIGIDBODY

EMITTERVELOCITY

3

MAX PARTICLES

AUTO RANDOM SEED

NONE

STOP ACTION

CULLING MODE

AUTOMATIC

DISABLED

RING BUFFER MODE

EMISSION

20

RATE OVER TIME

0

RATE OVER DISTANCE

BURSTS

PROBABILITY

TIME

INTERVAL

CYCLES

COUNT

LIST IS EMPTY

SHAPE

VELOCITY OVER LIFETIME

LIMIT VELOCITY OVER LIFETIME

INHERITVELOCITY

FORCE OVER LIFETIME

Y400

OZ

X0

0

600

0

SPACE

RANDOMIZE

COLOR OVER LIFETIME

COLOR BY SPEED

当合完图后我们去修改粒子发射器的参数,这

SIZE OVER LIFETIME

SIZE BY SPEED

里粒了数量上限我直接给了3,

3,也就时说粒子显

ROTATION OVER LIFETIME

示数量最多为3个,当然三个首定不够用,所以

ROTATION BY SPEED

EXTERNAL FORCES

我把粒子速度提高了十倍,当粒子达到一定的

NOISE

速度时会有残影,这样我们就能用少量的粒子

COLLISION

TRIGGERS

来达成原本30+粒子数量的大致效果

SUB EMITTERS

image.png

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(八)

原文:Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow 译者:飞龙 协议:CC BY-NC-SA 4.0 第十八章:强化学习 强化学习(RL)是当今最激动人心的机器学习领域之一,也是最古老…

VMwawre配置静态ip

1、查看当前虚拟机网关(记住这个网关,后面使用) 2、进入目录命令:cd /etc/sysconfig/network-scripts/ 3、编辑网卡配置文件命令:vim ifcfg-ens33 4、配置静态IP,修改和增加如下信息: 修改的内…

编码技巧——在项目中使用Alibaba Cloud Toolkit远程部署

背景 在新公司项目开发,当前项目为自建项目,意思是从开发到运维都需要自己负责,远程的服务器也是自己搭建的win操作系统; 之前在大厂工作时,一般提交代码之后,CICD流水线会自动的执行最新代码的拉取、构建打…

神经网络 | 常见的激活函数

Hi,大家好,我是半亩花海。本文主要介绍神经网络中必要的激活函数的定义、分类、作用以及常见的激活函数的功能。 目录 一、激活函数定义 二、激活函数分类 三、常见的几种激活函数 1. Sigmoid 函数 (1)公式 (2&a…

Linux笔记之expect和bash脚本监听输出并在匹配到指定字符串时发送中断信号

Linux笔记之expect和bash脚本监听输出并在匹配到指定字符串时发送中断信号 code review! 文章目录 Linux笔记之expect和bash脚本监听输出并在匹配到指定字符串时发送中断信号1.expect2.bash 1.expect 在Expect脚本中,你可以使用expect来监听程序输出,…

Redis——高级主题

介绍Redis的高级主题,包括服务器配置、Redis事务、Redis发布和订阅、Pipeline批量发送请求、数据备份与恢复等。 1、服务器配置 在Windows和Linux的Redis服务器里面,都有一个配置文件。Redis配置文件位于Redis安装目录下,在不同操作系统下&…

VMWare下载安装(包含Window是和Mac)

VMWare下载安装(包含Window是和Mac) 文章目录 VMWare下载安装(包含Window是和Mac)一、windows下载VMWare①:下载01:网盘下载02:官方下载 ②:安装③:密钥 二、Mac下载VMWa…

vue3:26—新的内置组件

目录 Teleport Suspense Teleport 什么是Teleport? Teleport 是一种能够将我们的组件html结构移动到指定位置的技术 当在元素中的css使用了filter滤镜属性的时候,会导致内部 fixed 元素定位发生错误,即不再相对 viewport 进行定位,而是相对…

使用 WMI 查询安全软件信息

在这篇文章中,我们将详细介绍如何使用 Windows Management Instrumentation (WMI) API 来查询当前计算机上安装的安全软件的基本信息。我们将分析代码的各个部分,并解释每个步骤所涉及的技术和原理。 一、什么是 WMI? WMI 是 Windows Manag…

BlueLotus 下载安装使用

说明 蓝莲花平台BlueLotus,是清华大学曾经的蓝莲花战队搭建的平台,该平台用于接收xss返回数据。 正常执行反射型xss和存储型xss: 反射型在执行poc时,会直接在页面弹出执行注入的poc代码;存储型则是在将poc代码注入用…

基于51 单片机的交通灯系统 源码+仿真+ppt

主要内容: 1)南北方向的绿灯、东西方向的红灯同时亮40秒。 2)南北方向的绿灯灭、黄灯亮5秒,同时东西方向的红灯继续亮。 3)南北方向的黄灯灭、左转绿灯亮,持续20秒,同时东西方向的红灯继续…

Spinnaker多云持续交付平台: 部署Minio存储服务

目录 一、实验 1.环境 2.K8S storage节点部署NFS 3.K8S 动态创建PV 4.K8S master节点部署HELM3 4.K8S master节点部署Minio存储服务(第一种方式安装) 5.Minio客户端安装MC命令 6.K8S master节点使用Docker 部署Minio存储服务(第二种方…

设计模式学习笔记05(小滴课堂)

讲解Adapeter设计模式和应用场景 接口的适配器案例实战 代码: 定义一个接口: 编写适配器: 写我们的商品类: 会员类: 这样我们不同的需求可以根据需要去实现不同的接口方法,而不用实现全部接口方法。 适配…

elasticsearch重置密码操作

安装es的时候需要测试这个url:http://127.0.0.1:9200/ 出现弹窗让我输入账号和密码。我第一次登录,没有设置过账号和密码, 解决方法是:在es的bin目录下打开cmd窗口,敲命令:.\elasticsearch-reset-password…

移动Web——Bootstrap

1、Bootstrap-简介 Bootstrap是由Twitter公司开发维护的前端UI框架&#xff0c;它提供了大量编写好的CSS样式&#xff0c;允许开发者结合一定HTML结构及JavaScript&#xff0c;快速编写功能完善的网页及常见交互效果 <!DOCTYPE html> <html lang"en"> &…

上海亚商投顾:成交量突破万亿 沪指重回2800

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 昨日A股三大指数延续上涨&#xff0c;深成指领涨&#xff0c;沪指重新站上2800点。不过&#xff0c;指数黄白分…

MATLAB环境下基于深层小波时间散射网络的ECG信号分类

2012年&#xff0c;法国工程学院院士Mallat教授深受深度学习结构框架思想的启发&#xff0c;提出了基于小波变换的小波时间散射网络&#xff0c;并以此构造了小波时间散射网络。 小波时间散射网络的结构类似于深度卷积神经网络&#xff0c;不同的是其滤波器是预先确定好的小波…

从源码学习访问控制符使用

从源码学习访问控制符使用 Java中的访问控制符 ​ 在Java中&#xff0c;有四个访问控制符&#xff1a;public、protected、default&#xff08;默认或缺省&#xff0c;不使用关键字&#xff09;和private。 ​ 它们的访问范围如下&#xff1a; public&#xff1a;公共访问权…

【人工智能】人工智能 – 引领未来科技的潮流

写在前面 引言红利挑战结论 引言 人工智能是指使计算机系统表现出类似于人类智能的能力。其目标是实现机器具备感知、理解、学习、推理和决策等智能行为。人工智能的发展可以追溯到上世纪50年代&#xff0c;随着计算机技术和算法的不断进步&#xff0c;人工智能得以实现。 今天…

『运维备忘录』之 Kubernetes(K8S) 常用命令速查

一、简介 kubernetes&#xff0c;简称K8s&#xff0c;是用8代替名字中间的8个字符“ubernete”而成的缩写&#xff0c;是一个开源的&#xff0c;用于管理云平台中多个主机上的容器化的应用。kubernetes是基于容器技术的分布式架构解决方案&#xff0c;具有完备的集群管理能力&a…