Unity3D教程:2D游戏技能特效

news2025/1/14 0:59:42

在我们的2D图形游戏中不可缺少大量的光影、技能特效,像Diablo II中的魔法效果的实现,幸好我们拥有强大的CPU来为我们实现Alpha混合与色彩饱和混合,接下来让我们来讨论一下如何用这些方法来实现我们游戏中所需要的技能特效。

    一、Alpha混合特效
    Alpha混合可以让我们让我们将一张图象按一定程度的比例与另一张图象进行混合(如图 1),但普通的Alpha混合并不适合游戏中的技能特效的显示,这时候我们只需要添加一些数据让混合更准确些,为了实现这样的效果,我们往图象中加入 Alpha通道数据(如图2),然后我们再根据通道数据来进行混合就可得到如图3的混合效果,现在看起来是不是更像特效了。
    不过问题始终还是有的,只要仔细观察,不难发现在图3中的特效周围有黑影,这似乎给我们的技 能效果添加了一点瑕疵,为什么会这样?因为我们的程式是根据图象上的通道数据来进行不同程度的Alpha混合处理,但在特效边缘实际上RGB色彩值更接近 于黑色(R=0、G=0、B=0),一旦这样混合后,周围肯定会产生黑边,不过可以放心,这里我们可以用一个简单的技巧来轻松避免黑边的产生,那就是将图 2中的RGB色彩图用灰色背景来填充,这样在混合之后就没有黑边,至少看起来没有以前明显了,这里没有最后效果图,最后的效果还是由你自己的程式来实现 吧。

 

 

 

 二、色彩饱和特效

    与Alpha混合相比,色彩饱和更适合于特效的制作,无论从性能上讲,还是从效果上说,色彩饱和比Alpha混合更胜一筹(如图4)。可能因为色彩饱和的算法过于简单,很少有进行介绍的,我们先就对色彩饱和的方法来进行介绍一下,混合公式:

    R1、G1、B1 : 图象像素点的源色值;

    R2、G2、B2 : 底图像素点的源色值;

    R = R1 + R2;( IF R > 255 THEN R = 255 )

    G = G1 + G2;( IF G > 255 THEN G = 255 )

    B = B1 + B2;( IF B > 255 THEN B = 255 )

    R、G、B就是我们所需的混合结果。

    可能你会觉得这么复杂的计算怎么会在性能上优于Alpha混合,当然,如果你所使用到的 只是CPU的常规指令,那的确,在性能上没有Alpha快,但现在MMX指令已经作为CPU的基本指令,MMX指令中就有一个饱和加的CPU指令,可以非常方便的进行操作,不得不感谢CPU制造商所做的功劳。

    好了,两种方式都介绍了,可以说这基本上已经可以胜任2D游戏中所需要,接下来就让我们来让游戏更精彩。

 

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

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

相关文章

【ArcGIS Pro微课1000例】0023:ArcGIS Pro 3.0中打开GeoPackage数据库(.gpkg)

本文讲解ArcGIS Pro 3.0中打开GeoPackage数据库(.gpkg)的两种方法。 文章目录 一、QGIS创建GeoPackage二、ArcGIS Pro 3.0打开GeoPackage1. 直接加载2. 添加数据库一、QGIS创建GeoPackage 本文使用到的GeoPackage是在QGIS中创建并入库的,具体操作可以参考: 【QGIS入门实战…

Kakarot:部署在Starknet上的ZK-EVM type 3

1. 引言 sayajin-labs团队开源的: https://github.com/sayajin-labs/kakarot(ZK-EVM type 3 written in Cairo, leveraging STARK proof system.) Kakarot提供了相应的playground: https://playground.kakarot.org/?forkmerg…

aardio - libxl库,一个dll操作excel

经常用到excel操作,也有几个现成的库能实现我需要的功能,但用起来总是感觉不顺手。 于是便抽了两天时间,在aaz.libxl库的基础上,按照我的使用习惯进行了修改。 以后再也不用为操作excel发愁啦。 下载地址:http://che…

基于docker部署nexus并创建发布npm包

1. nenus部署 1.1 搜索镜像 [rootsurpass ~]# docker search nexus INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/sonatype/nexus3 …

移动 IP(计算机网络-网络层)

目录 移动性对网络应用的影响 移动IP中数据报的转发过程 移动IP中数据报的转发过程 三角路由的低效性 解决三角路由的低效性 移动IP的标准 移动性对网络应用的影响 现在先考虑这样一种情况,一个用户拿着无线移动设备在一个Wi-Fi服务区内走动,并且边…

【Django】第一课 基于Django超市订单管理系统开发

概念 django服务器开发框架是一款基于Python编程语言用于web服务器开发的框架,采用的是MTV架构模式进行分层架构。 项目搭建 打开pycharm开发软件,打开开发软件的内置dos窗口操作命令行 在这里指定项目存放的磁盘路径,并使用创建django项…

UDP通信

目录 一.预备知识 1.1IP与MAC 1.2端口号 1.3TCP与UDP协议 2.4网络字节序 二.socket编程接口 2.1socket常见API 2.2sockaddr结构 3.UDP网络程序 3.1服务端 3.1.1服务端创建套接字 3.1.2绑定服务端 3.1.3recvfrom 3.2客户端 3.2.1客户端创建套接字 3.2.2客户端绑…

目标检测之Faster RCNN分析

基本流程 图像输入网络得到特征图使用RPN生成候选框,将候选框投影到特征图获得特征矩阵对特征矩阵使用ROI pooling得到特征图并展平,得到预测结果 重点解析 RPN在网络中的位置 在上图中,从feature map层来看,有两个指向上层的箭头…

善用数据框,让你的工作更严谨统一,让你的地图更优雅、更专业

前言:数据框,一个经常被忽略的东西,只有偶尔才被想起。善用数据框能更好的管理我们的投影,更能轻松的控制图层的范围,甚至利用裁剪数据框更能让我们的地图好看...什么是数据框 好吧,这个很基础,但是我还是要提一下,可能有的读者确实不知道,毕竟它的中文译名就很奇怪。…

get/post/put/delete请求头说明

目录 1.请求头说明 2.get 3.delete 4.post 5.put 6. 说明 7.Content-Type说明 1.请求头说明 前端发出的请求通过浏览器进行查看,可以发现分为四个部分。常规信息(General),请求头信息(Request Headers),响应头信息(Response Headers)…

[思维模式-12]:《如何系统思考》-8- 工具篇 - 因果回路图/系统循环图/系统控制图,系统思考的关键工具

目录 第1章 因果回路图概述 1.1 什么是因果回路图 1.2 反馈回路 第2章 因果图的组成 2.1 回路 2.2 变量 2.4 连接 > 不同变量之间的函数关系 2.5 增强回路 2.6 调节回路 2.7 时间延时 第3章 因果图的用途与应用 3.1 因果图的价值 3.2 因果图的用途 第4章 因果图…

分布式微服务技术栈-SpringCloud+RabbitMQ+Docker+Redis

微服务技术栈一、微服务 介绍了解1 架构结构案例与 springboot 兼容关系拆分案例拆分远程调用2 eureka注册中心3 Ribbon 负载均衡4 nacos 阿里注册中心一、微服务 介绍了解 分布式架构的一种 把服务进行 拆分 springcloud 解决了 服务拆分过程中的 治理问题 与单体应用 进行区…

云服务器ECS入门

云服务器ECS入门 一、什么是云服务器ECS 云服务器ECS (Elastic Compute Service) 是阿里云提供的性能卓越、稳定可靠、弹性扩展的laaS(Infrastructure as a Service) 级别云计算服务 云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源…

Linux 下 使用点阵在LCD上显示汉字,字符

文章目录前言一、显示字符1.获取点阵:2.描点(显示字符函数):3. 要打开LCD设备:4. 通过ioctl 获取Framebuffer参数:5. 通过mmap映射出Framebuffer的地址:6.清屏并显示字符:二、显示汉字1.区位码&…

WSL2的安装、应用

WSL2的安装、应用WSL安装、升级常用命令WSL导入导出其他 - 图形界面、虚拟化WSL安装、升级 win10系统上开启WSL参考如下,我先是安装了WSL1,之后又升级到WSL2的。关键是一些Win10上电配置,之后在windows应用商店下载ubuntu即可。 win10上lin…

又一家中国企业加入RISC-V,中国力推之下必将打破ARM的垄断

近日消息指腾讯已正式加入RISC-V,并且是以高级别的高级会员加入,显示出腾讯开发RISC-V架构芯片的决心,这显示出中国芯片行业正齐心协力发展RISC-V架构,将打破ARM的垄断。腾讯在芯片行业已取得一定的成绩,分别推出了AI推…

文字对称中的数学与魔术(二)——英文字母到单词的对称性

早点关注我,精彩不错过!在上一篇文章中,我们引入了语言文字对称性这个领域,重点介绍了阿拉伯数字的对称性,相关内容请戳:文字对称中的数学与魔术(一)——阿拉伯数字的对称性今天我们…

Linux系统基础——内存管理

Linux系统内存管理 特此说明: 刘超的趣谈linux操作系统是比较重要的参考资料,本文大部分内容和所有图片来源于这个专栏。 1 物理内存 物理内存根据 NUMA 架构分节点。每个节点里面再分区域。每个区域里面再分页。 物理内存页通过伙伴系统进行分配。进程通过虚拟地址…

xv6 源码调试环境搭建

一、资源 官网:https://pdos.csail.mit.edu/6.828/2022/ 二、搭建 xv6 调试环境 1、下载 xv6 源码 git clone git://github.com/mit-pdos/xv6-riscv.git2、安装工具链 特别说明:ubuntu 仓库中已经提供,可直接安装。 1、从 ubuntu 仓库中…

前端小知识:文本分句、词、字(Intl.Segmenter)

5. 文本分字、词、句 参考文章: https://mp.weixin.qq.com/s/MLmi-Yoi9sez8-5DPtcBVw   官方文档(构造参数): https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter/Segmenter   …