【零基础入门unity游戏开发——2D篇】SpriteMask精灵遮罩组件

news2025/4/7 15:43:04

考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇

  • 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的同学入门。
  • 【unity通用篇】:主要讲解unity的基础通用的知识,包括unity界面、unity脚本、unity资源管理、unity动画、unity摄像机等,适合unity初学者入门。
  • 【unity3D篇】:主要讲解unity3D的知识,unity3D角色、unity3D物理系统、unity3D光照等,适合只想做2D游戏的开发者学习。
  • 【unity2D篇】unity2D篇:主要讲解unity2D的知识,包括unity2D角色、unity2D物理系统、unity2D光照等,适合只想做3D游戏的开发者学习。

这样方便大家按需选择性的去学习,比如有编程基础的大概率可以直接从unity通用篇开始入门,没有编程基础的建议从C#篇开始学习。只想做2D游戏的话,可以直接从unity2D篇开始学习,3D篇大概率就不需要看了,节约学习时间成本。

文章目录

  • 一、SpriteMask精灵遮罩是什么
  • 二、创建SpriteMask精灵遮罩
  • SpriteMask组件参数介绍
    • 1、Sprite 精灵
    • 2、Sprite排序点
    • 3、Alpha Cutoff Alpha修剪
    • 5、Custom Range 自定义范围
  • 三、实战
    • 1、制作圆形头像
    • 2、实现类似相框的效果
    • 3、实现图片背景消融渐变效果
  • 专栏推荐
  • 完结

一、SpriteMask精灵遮罩是什么

SpriteMask是精灵遮罩的意思。它的主要作用就是对精灵图片产生遮罩,制作一些特殊的功能,比如只显示图片的一部分让玩家看到。常常用于制作玩家圆形头像、场景过渡、镂空图。
在这里插入图片描述
一般要和配合使用SpriteRenderer精灵渲染器组件的Mask Interaction 遮罩交互参数配合使用

实战参考:【unity实战】2d血液飞溅喷射到墙上和TileMap上,留下血迹的效果

二、创建SpriteMask精灵遮罩

创建精灵遮罩后在精灵遮罩组件选一个图片。再创建一个2D精灵选择一张图片。把2D精灵调成可以和遮罩交互的模式。可以看到遮罩效果。
在这里插入图片描述

SpriteMask组件参数介绍

在这里插入图片描述

1、Sprite 精灵

遮罩图片。决定了遮罩的轮廓。

2、Sprite排序点

在这里插入图片描述
计算摄像机和精灵之间距离时,使用精灵中心Center还是轴心点Pivot,一般情况下不用修改。

3、Alpha Cutoff Alpha修剪

透明度的分界线。比如设为0.5时:50%透明度以上的区域显示。

下面实战举例会详细介绍如何使用。

5、Custom Range 自定义范围

自定义遮罩范围。可以实现只遮罩影响部分图层。
在这里插入图片描述
只有>=back(背部),且<front(前面)的排序层都会被渲染。比如Back=0, Front=5 时:只影响排序层0-4的对象。

三、实战

1、制作圆形头像

  • 使用SpriteRenderer组件,在场景放置一个2d对象
    在这里插入图片描述
  • 设置SpriteRenderer组件遮罩交互为遮罩中可见
    在这里插入图片描述
  • 新增一个遮罩
    在这里插入图片描述
  • 将遮罩移动到人物头的位置
    在这里插入图片描述
  • 可以选择不同的遮罩图形
    在这里插入图片描述
    在这里插入图片描述
  • 修改SpriteRenderer组件遮罩交互为遮罩外可见
    在这里插入图片描述
    在这里插入图片描述

2、实现类似相框的效果

配合Sorting Group 组件使精灵遮罩只对自己的子节点起作用

  • 跟前面类似,不过把2d对象变为遮罩的子物体,实现类型相框的作用
    在这里插入图片描述
  • 但是当然没有这么简单,我们复制多个对象看看效果。发现遮罩间会互相产生效果
    在这里插入图片描述
  • 解决方案,为每个对象的父物体,也就是遮罩添加Sorting Group 组件,可以使精灵遮罩只对自己的子节点起作用。Order in Layer可以设置渲染层级(前后遮盖效果)
    在这里插入图片描述
  • 效果
    在这里插入图片描述

3、实现图片背景消融渐变效果

Alpha Cutoff透明度裁剪的使用

  • 随便再网上下载一张封面图
    在这里插入图片描述
  • 导入封面图片到unity,配置基本不需要修改,为了规范可以修改模式为单一图。
    在这里插入图片描述
  • 拖入图片进场景,设置SpriteRenderer组件遮罩交互为遮罩中可见
    在这里插入图片描述
  • 随便在网上下载一张带颜色渐变的图片作为遮图
    在这里插入图片描述
  • 导入图片进unity,设置图片Alpha源为从灰度,将他变成一张【带有透明度的图片】
    在这里插入图片描述
  • 添加遮罩,记得遮罩要覆盖前面的封面图

在这里插入图片描述

  • 修改Alpha Cutoff 值效果

在这里插入图片描述

这就实现了一个简易的消融效果,之前我其实也用Shader Graph制作过一个消融效果:【实现100个unity特效之9】Unity 2D Shader Graph溶解效果教程,对比使用遮罩当然要简单很多,当然效果自然也没那么好。


专栏推荐

地址
【零基础入门unity游戏开发——C#篇】
【零基础入门unity游戏开发——unity通用篇】
【零基础入门unity游戏开发——unity3D篇】
【零基础入门unity游戏开发——unity2D篇】
【制作100个Unity游戏】
【推荐100个unity插件】
【实现100个unity特效】
【unity框架/工具集开发】

完结

好了,我是向宇,博客地址:https://xiangyu.blog.csdn.net,如果学习过程中遇到任何问题,也欢迎你评论私信找我。

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!
在这里插入图片描述

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

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

相关文章

PyTorch中卷积层torch.nn.Conv2d

在 PyTorch 中&#xff0c;卷积层主要由 torch.nn.Conv1d、torch.nn.Conv2d 和 torch.nn.Conv3d 实现&#xff0c;分别对应一维、二维和三维卷积操作。以下是详细说明&#xff1a; 1. 二维卷积 (Conv2d) - 最常用 import torch.nn as nn# 基本参数 conv nn.Conv2d(in_channe…

GO语言学习(16)Gin后端框架

目录 ☀️前言 1.什么是前端&#xff1f;什么是后端&#xff1f;&#x1f300; 2.Gin框架介绍 &#x1f337; 3.Gin框架的基本使用 -Hello&#xff0c;World例子&#x1f337; &#x1f33f;入门示例 - Hello&#xff0c;World &#x1f4bb;补充&#xff08;一些常用的网…

RAG 在 AI 助手、法律分析、医学 NLP 领域的实战案例

RAG&#xff08;Retrieval-Augmented Generation&#xff0c;检索增强生成&#xff09;是一种结合信息检索和生成模型的技术&#xff0c;广泛应用于 AI 助手、法律分析、医学 NLP 等领域。 以下是具体的实战案例和技术实现。 1. AI 助手中的 RAG 应用 案例 1&#xff1a;企业…

大模型-提示词(Prompt)技巧

1、什么是提示词&#xff1f; 提示词&#xff08;Prompt&#xff09;是用户发送给大语言模型的问题、指令或请求&#xff0c;用来明确地告诉模型用户想要解决的问题或完成的任务&#xff0c;是大语言模型理解用户需求并据此生成相关、准确回答或内容的基础。对于大语言模型来说…

RNN模型与NLP应用——(9/9)Self-Attention(自注意力机制)

声明&#xff1a; 本文基于哔站博主【Shusenwang】的视频课程【RNN模型及NLP应用】&#xff0c;结合自身的理解所作&#xff0c;旨在帮助大家了解学习NLP自然语言处理基础知识。配合着视频课程学习效果更佳。 材料来源&#xff1a;【Shusenwang】的视频课程【RNN模型及NLP应用…

深度剖析:U盘打不开难题与应对之策

一、引言 在数字化办公与数据存储的浪潮中&#xff0c;U盘凭借其小巧便携、大容量存储等优势&#xff0c;成为了人们日常数据传输与备份的得力助手。然而&#xff0c;当我们急需调用U盘中的关键数据时&#xff0c;却常常遭遇U盘打不开的棘手状况。U盘打不开不仅会影响工作进度&…

uni-app 框架 调用蓝牙,获取 iBeacon 定位信标的数据,实现室内定位场景

背景&#xff1a;最近需要对接了一个 叫 iBeacon 定位信标 硬件设备&#xff0c;这个设备主要的作用是&#xff0c;在信号不好的地方&#xff0c;或者室内实现定位&#xff0c;准确的找到某个东西。就比如 地下停车场&#xff0c;商城里&#xff0c;我们想知道这个停车场的某个…

leetcode-热题100(3)

leetcode-74-搜索二维矩阵 矩阵最后一列升序排序&#xff0c;在最后一列中查找第一个大于等于target的元素 然后在该元素所在行进行二分查找 bool searchMatrix(int** matrix, int matrixSize, int* matrixColSize, int target) {int n matrixSize;int m matrixColSize[0];in…

基于python的电影数据分析及可视化系统

一、项目背景 随着电影行业的快速发展&#xff0c;电影数据日益丰富&#xff0c;如何有效地分析和可视化这些数据成为行业内的一个重要课题。本系统旨在利用Python编程语言&#xff0c;结合数据分析与可视化技术&#xff0c;为电影行业从业者、研究者及爱好者提供一个便捷的电…

[NCTF2019]Fake XML cookbook [XXE注入]

题目源代码 function doLogin(){var username $("#username").val();var password $("#password").val();if(username "" || password ""){alert("Please enter the username and password!");return;}var data "…

【学习记录】pytorch载入模型的部分参数

需要从PointNet网络框架中提取encoder部分的参数&#xff0c;然后赋予自己的模型。因此&#xff0c;需要从一个已有的.pth文件读取部分参数&#xff0c;加载到自定义模型上面。做了一些尝试&#xff0c;记录如下。 关于模型保存与载入 torch.save(): 使用Python的pickle实用程…

写Prompt的技巧和基本原则

一.基本原则 1.一定要描述清晰你需要大模型做的事情&#xff0c;不要模棱两可 2.告诉大模型需要它做什么&#xff0c;不需要做什么 改写前: 请帮我推荐一些电影 改写后: 请帮我推荐2025年新出的10部评分比较高的喜剧电影&#xff0c;不要问我个人喜好等其他问题&#xff…

水下成像机理分析

一般情况下, 水下环境泛指浸入到人工水体 (如水库、人工湖等)或自然水体(如海洋、河流、湖 泊、含水层等)中的区域。在水下环境中所拍摄 的图像由于普遍受到光照、波长、水中悬浮颗粒物 等因素的影响&#xff0c;导致生成的水下图像出现模糊、退 化、偏色等现象&#xff0c;图像…

JVM类加载器详解

文章目录 1.类与类加载器2.类加载器加载规则3.JVM 中内置的三个重要类加载器为什么 获取到 ClassLoader 为null就是 BootstrapClassLoader 加载的呢&#xff1f; 4.自定义类加载器什么时候需要自定义类加载器代码示例 5.双亲委派模式类与类加载器双亲委派模型双亲委派模型的执行…

从一到无穷大 #44:AWS Glue: Data integration + Catalog

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作)&#xff0c;由 李兆龙 确认&#xff0c;转载请注明版权。 文章目录 引言Glue的历史&#xff0c;设计原则与挑战Serverless ETL 功能设计Glue StudioGlue …

实战打靶集锦-35-GitRoot

文章目录 1. 主机发现2. 端口扫描3. 服务枚举4. 服务探查5. 系统提权6. 写在最后 靶机地址&#xff1a;https://download.vulnhub.com/gitroot/GitRoot.ova 1. 主机发现 目前只知道目标靶机在192.168.56.xx网段&#xff0c;通过如下的命令&#xff0c;看看这个网段上在线的主机…

英语口语 -- 常用 1368 词汇

英语口语 -- 常用 1368 词汇 介绍常用单词List1 &#xff08;96 个&#xff09;时间类气候类自然类植物类动物类昆虫类其他生物地点类 List2 &#xff08;95 个&#xff09;机构类声音类食品类餐饮类蔬菜类水果类食材类饮料类营养类疾病类房屋类家具类服装类首饰类化妆品类 Lis…

SpringBoot+Vue 中 WebSocket 的使用

WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议&#xff0c;它使得客户端和服务器之间可以进行实时数据传输&#xff0c;打破了传统 HTTP 协议请求 - 响应模式的限制。 下面我会展示在 SpringBoot Vue 中&#xff0c;使用WebSocket进行前后端通信。 后端 1、引入 j…

关于依赖注入框架VContainer DIIOC 的学习记录

文章目录 前言一、VContainer核心概念1.DI(Dependency Injection&#xff08;依赖注入&#xff09;)2.scope(域&#xff0c;作用域) 二、练习例子1.Hello,World!步骤一&#xff0c;编写一个底类。HelloWorldService步骤二&#xff0c;编写使用低类的类。GamePresenter步骤三&am…

Qt常用控件第一部分

1.控件概述 Widget 是 Qt 中的核⼼概念. 英⽂原义是 "⼩部件", 我们此处也把它翻译为 "控件" . 控件是构成⼀个图形化界⾯的基本要素. 像上述⽰例中的, 按钮, 列表视图, 树形视图, 单⾏输⼊框, 多⾏输⼊框, 滚动条, 下拉框等, 都可以称为 "控件"…