《Unity开发实战》——3.9节鼠标悬停时高亮显示材质
本节书摘来自华章社区《Unity开发实战》一书中的第3章,第3.9节鼠标悬停时高亮显示材质,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可以访问云栖社区“华章社区”公众号查看
3.9 鼠标悬停时高亮显示材质
高亮对象是让玩家知道这个对象可以交互的最有效的方式。在拼图游戏和点击式冒险游戏中很有用,3D用户界面中也可以用。
3.9.1 准备工作
本节中需要一个 3D 模型和一个 2D 纹理贴图,也可以直接导入0423_03_08文件夹中名为highlight的包。
3.9.2 操作步骤
请按照下面的步骤实现鼠标悬停时高亮材质:
1)导入包,并打开highlightScene 场景。
2)在Hierarchy 视图中,选择 3D 对象让其高亮(名为highlightCube)。
3)在 Inspector 视图中,应该会显示这个对象的材质,使用Shader的下拉菜单把值从Diffuse修改成VertexLit。
4)把baseBox 纹理应用到材质的Base纹理。
5)注意 VertexLit 着色器有一个属性叫做Emissive Color,默认是black。如果想预览其变化,可以修改成green(但要记得改回来)。
6)在Project视图中,通过下拉菜单创建一个C#脚本,命名为HighlightObject 然后打开。
7)替换成下面的代码:
10)通过Component | Physics | Box Collider 添加一个盒子碰撞器(box collider )到 highlightCube对象上。
11)测试场景。盒子应该会在鼠标悬停时高亮(点击时更亮)。
3.9.3 实现原理
box collider 通过盒子探测鼠标指针,像改变发光色值的触发器一样工作。mouseon 布尔变量用于探测鼠标按钮在box collider上是否松开,并相应地修改其颜色。
3.9.4 更多内容
可以用其他shaders实现更多有意思的东西,但是一定要修改特定的材质属性。
如果在脚本中把_Emission 替换成 _Color自发光着色器就会工作了。 使用透明着色器
透明着色器(Transparent shaders)也是一个有意思的东西。可以通过修改main color的Alpha值而达到修改透明度的目的(应该在脚本中的_Color相关的代码中)。
创意代码之图片悬停效果 自己也想写一个类似这种的特效,就是鼠标放图片上时图片会悬停,就是那种戳一下动一下的效果,本文会先分解实现的步骤,使用到知识点都会有案例,那么我们开始吧。
【Unity3D 灵巧小知识点】☀️ | Unity通过 射线 获取 鼠标的世界坐标 和 鼠标点击的物体信息 Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
相关文章
- WordPress 网站开发“微信小程序“实战(三)
- PHP-CPP开发扩展(六)
- 《Spring 3.X 企业应用开发实战》摘记 【IOC】
- nfc开发
- 《android开发进阶从小工到专家》读书笔记--HTTP网络请求
- 《android开发艺术探索》读书笔记(六)--Drawable
- [cocos2d-x]游戏开发基础(图)
- SAP ABAP Netweaver和Hybris Commerce的开发license
- Android SELinux开发多场景实战指南
- 会员管理小程序实战开发02-数据源介绍
- 〖Python 数据库开发实战 - Redis篇⑫〗- Redis的事务特性
- 〖Python 数据库开发实战 - MongoDB篇④〗- Linux环境下的MongoDB数据库安装
- pyqt5实战开发主窗口加布局
- 【华为云实战开发】9.如何进行PHP项目的快速搭建并实现CICD?
- 【Python3网络爬虫开发实战】 1.2.2-Selenium的安装
- 零基础学HTML 5实战开发(第一季)
- 【Android 逆向】代码调试器开发 ( 代码调试器功能简介 | 设置断点 | 读写内存 | 读写寄存器 | 恢复运行 | Attach 进程 )
- 面试官:开发过Maven插件吗?我:开发过啊。。。
- MyEclipse下XFire开发Webservice实例
- 新的开发域名 fastadmin.tk
- 【SQL开发实战技巧】系列(四十七):Oracle12C常用新特性☞非分区表在线转分区表online clause(不停业务+索引有效)
- 【SQL开发实战技巧】系列(三十九):Oracle12C常用新特性☞新增分页查询
- 鸿蒙要出来了,对Android开发工程师有影响吗?
- 加油站会员管理小程序实战开发教程09-显示距离
- 加油站会员管理小程序实战开发教程06-地图功能开发
- 电商小程序实战教程-购物车开发