在王者荣耀中脸探草丛的正确姿势是什么?

在这里插入图片描述

引言

Cocos中躲草丛效果的实现原理。

在游戏开发中,我们经常用透视或者半透明效果去表现模型被遮挡的效果。

本文将介绍一下如何在Cocos中实现王者荣耀中的躲草丛效果

本文源工程在文末获取,小伙伴们自行前往。

躲草丛效果的实现原理

在这里插入图片描述

要在Cocos中实现王者荣耀中的躲草丛效果,需要以下几个点:

1.模型半透明

要实现模型的半透明效果,需要下面2个条件:

  • 3D物体所在的渲染队列为”透明队列”;
  • 3D物体的颜色alpha值改成127(半透明);

好的收到

2.触发

进入草丛的时候触发模型半透明离开草丛时恢复模型半透明。需要下面Collider2个事件:

  • onTriggerEnter:当其他Collider进入我的Collider时触发。

  • onTriggerExit:当其他Collider离开我的Collider时触发。

好的好的

话不多说,一起来做个实例。

王者小鸡躲草丛

接下来我们一步一步来实现王者荣耀中的躲草丛效果。

1.环境

引擎版本:Cocos Creator 3.8.1

编程语言:TypeScript

2.资源准备

首先去“菜市场”买两把””,有喜欢做模型的小伙伴可以自己在3dmax里面做一个,我们先看下草在3dmax中的效果:

节目组终于有点良心了

然后把模型从3dmax导出一下,包括FBXTGA,然后添加到工程:

不懂没关系,拖就完了

把模型拖到场景里面去,可以看到雪白的草:

塑料一样

想要把草恢复成绿色需要以下处理:

  • 修改材质的Effect,我们用builtin-unlit
  • 然后Technique选择transparent通道。
  • 设置贴图。

我数123木头人

处理完成后效果如下:

简单展示,追求极致的小伙伴可以调一下

由于草不够茂密,我们复制粘贴多几个:

要是我的头发也能这么Ctrl+C+V那该多好

想要草可以产生触发事件,需要添加一下Collider,这里直接用BoxCollider,简单快捷:

你可以把这个理解成结界

勾选Is Trigger使其变成触发器,否者会进不去草丛:

划重点!!!

3.编写代码

新建一个Tussock组件,并且到王者小鸡身上。

@ccclass('Tussock')
export class Tussock extends Component {start() {}update(deltaTime: number) {}
}

start()方法中获取CapsuleCollider组件并且监听onTriggerEnteronTriggerExit事件。

start() {var collider = this.getComponent(CapsuleCollider);collider.on('onTriggerEnter', (event: ICollisionEvent) => {if (event.otherCollider.node.name == "tussock") {this.setModelTranslucency(true);}}, this);collider.on('onTriggerExit', (event: ICollisionEvent) => {if (event.otherCollider.node.name == "tussock") {this.setModelTranslucency(false);}}, this);
}

最后获取王者小鸡的材质,通过material.setProperty('albedo');设置一下他的透明度

setModelTranslucency(flag: boolean) {const material = this.node.getChildByName("rooster_man").getComponent(RenderableComponent)?.sharedMaterials[0]; // 0 表示第一个材质,根据您的需求修改material.setProperty('albedo', new Color(255, 255, 255, flag ? 127 : 255));
}

4.效果演示

在这里插入图片描述

一天不整活,浑身都难受。帮忙转发一下文章哦,下课!

结语

本文源工程可通过私信发送Tussock获取。

近日,笔者受麒麟子(深耕游戏引擎与游戏开发15年,每一滴干货都源自商业项目实践)的邀请,以嘉宾的形式加入知识星球,星球主要用于:

  • 导师教学
  • 学习问题交流
  • 新人入门与进阶
  • 招聘与就业机会分享
  • 面试题集锦
  • 面试经验分享

总的来说,星球的目标只有一个:提供优质内容,搞学习。感兴趣的小伙伴可以扫码了解和捧场,在里面等你

长按识别,扫码了解

我是"亿元程序员",一位有着8年游戏行业经验的主程。在游戏开发中,希望能给到您帮助, 也希望通过您能帮助到大家。

AD:笔者线上的小游戏《贪吃蛇掌机经典》《重力迷宫球》《填色之旅》大家可以自行点击搜索体验。

实不相瞒,想要个在看!请把该文章分享给你觉得有需要的其他小伙伴。谢谢!

推荐专栏:

你知道王者荣耀是怎么实现技能范围指示器的吗?

8年主程手把手打造Cocos独立游戏开发框架

和8年游戏主程一起学习设计模式

从零开始开发贪吃蛇小游戏到上线系列

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[MySQL] MySQL复合查询(多表查询、子查询)

前面我们学习了MySQL简单的单表查询。但是我们发现,在很多情况下单表查询并不能很好的满足我们的查询需求。本篇文章会重点讲解MySQL中的多表查询、子查询和一些复杂查询。希望本篇文章会对你有所帮助。 文章目录 一、基本查询回顾 二、多表查询 2、1 笛卡尔积 2、2…

stm32一种步进电机查表法驱动

文章目录 一、定时器基础频率二、驱动原理三、关键代码 对于stm32芯片来说,步进电机的驱动由于要在中断中不断计算下一次脉冲的时间而极其消耗算力,使用计算的方法对于芯片的算法消耗更高,特别是在f1这种算力比较低的芯片上,这时候…

万宾科技荣获2023物联网场景应用品牌企业创始人发表专题演讲

12月5日-6日由雄安新区管理委员会、中关村发展集团股份、物联中国团体组织联席会主办,全国33家物联网协会协办的2023物联网产业品牌大会于在雄安新区顺利召开。本次大会以“物联中国.数智雄安”为主题,邀请到科技部原副部长吴忠泽,雄安新区管…

SpringBoot集成Spring Security+jwt+kaptcha验证(简单实现,可根据实际修改逻辑)

参考文章 【全网最细致】SpringBoot整合Spring Security JWT实现用户认证 需求 结合jwt实现登录功能,采用自带/login接口实现权限控制 熟悉下SpringSecurity SpringSecurity 采用的是责任链的设计模式,是一堆过滤器链的组合,它有一条很…

西部再添“芯”增长极 | 海辰储能重庆基地正式投产

12月7日,海辰储能重庆基地一期一阶段项目投产仪式在重庆铜梁举行。此次重庆基地项目的投产,是海辰储能实施三大基地协同发展战略的重要里程碑,将进一步整合内部资源、发挥规模化生产优势、完善产业链布局,成为海辰储能持续迈向高质…

【动态规划系列】子数组的最大和

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

<习题集><LeetCode><链表><61/83/82/86/92>

61. 旋转链表 https://leetcode.cn/problems/rotate-list/ public ListNode rotateRight(ListNode head, int k) {//k等于0,或者head为空,直接返回head;if(k 0 || head null){return head;}//创建last用于记录尾节点,移动last找…

ubuntu22.04 安装cuda

CUDA(Compute Unified Device Architecture)是由 NVIDIA 开发的一种并行计算平台和编程模型。它允许开发者利用 NVIDIA 的 GPU(图形处理单元)进行高效的计算处理。CUDA 通过提供一系列的 C、C 和 Fortran 扩展,使得开发…

MQTT 协议入门:轻松上手,快速掌握核心要点

文章目录 什么是 MQTT?MQTT 的工作原理MQTT 客户端MQTT Broker发布-订阅模式主题QoS MQTT 的工作流程开始使用 MQTT:快速教程准备 MQTT Broker准备 MQTT 客户端创建 MQTT 连接通过通配符订阅主题发布 MQTT 消息MQTT 功能演示保留消息Clean Session遗嘱消…

Ui自动化概念 + Web自动化测试框架介绍!

1.UI自动化测试概念:我们先明确什么是UI UI,即(User Interface简称UI用户界面)是系统和用户之间进行交互和信息交换的媒介 UI自动化测试: Web自动化测试和移动自动化测试都属于UI自动化测试,UI自动化测试就是借助自动化工具对程序UI层进行自动化的测试 …

【江科大--32课程中讲解到的外部设备】

一、传感器模块(GPIO模块) 1.基本介绍 传感器模块:传感器元件(光敏电阻/热敏电阻/红外接收管等)的电阻会随外界模拟量的变化而变化,通过与定值电阻分压即可得到模拟电压输出,再通过电压比较器进…

Redis基础系列-持久化

Redis基础系列-持久化 文章目录 Redis基础系列-持久化1. 什么是持久化2. 为什么要持久化3. 持久化的两种方式3.1 持久化方式1:RDB(redis默认持久化方式)3.11 配置步骤-自动触发3.12 配置步骤-手动触发3.12 优点3.13 缺点3.14 检查和修复RDB快照文件3.15 哪些情况会触…