水波荡漾效果+渲染顺序+简单UI绘制

创建场景及布置

创建新场景Main,在Main场景中创建一个plane物体,命名为WaterWavePla,具体数值及层级面板排布如下:

编写脚本

创建一个文件夹,用于存放脚本,命名Scripts,创建一个子文件夹Effect,存放特效相关脚本,创建脚本,命名Ef_WaterWave。

脚本代码如下:

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Ef_WaterWave : MonoBehaviour {
	public Texture[] textures;
	private Material material;
	private int index = 0;
	void Start () {
		material = GetComponent<MeshRenderer>().material;
		InvokeRepeating("ChangeTexture", 0, 0.1f);
	}
	void ChangeTexture () {
		material.mainTexture = textures[index];
		index = (index + 1) % textures.Length;
	}
}

将脚本挂载到WaterWavePla物体上,拖拽水波纹的图片组到Texture[]数组中,如下图所示:

运行游戏,实现效果如下:

渲染顺序

新建一个Canvas物体,命名Order90Canvas,将其Canvas组件中的Order in Layer数值改为90。

UI绘制

创建空物体ButtonPanel(在UGUI中,空物体作为其他UI组件的父物体时,其锚点锁定应与其父物体大小一致),添加两个子物体(UI->Image),添加Button组件,设置默认图及点击时更换的图片,在Order90Canvas下创建子物体,命名CountdownPanelImg,创建Text子物体,命名Timer,相关数据如下:

复制Timer,重命名RewardButton,文本内容"奖金",添加Button组件,默认取消勾选。

层级面板排布如下,运行游戏,测试几个按钮的可用性:

本栏目为网络课程学习笔记,仅供学习参考使用。

相关推荐
mxwin7 小时前
Unity Shader 渲染队列 (Render Queue):控制 Geometry、Transparent、Overlay 等队列确保半透明物体渲染正确
unity·游戏引擎
mxwin8 小时前
Unity Shader Alpha Test 与 Alpha Blend:透明度测试与混合的实现及排序问题
unity·游戏引擎
小贺儿开发8 小时前
Unity3D 拼图互动游戏
游戏·unity·人机交互·2d·拼图·互动
mxwin8 小时前
Unity Mask 贴图:用一张纹理的 RGBA 通道分别控制 PBR 材质参数
unity·材质·贴图
FairGuard手游加固9 小时前
FairGuard支持HybridCLR热更DLL加密
游戏·unity·游戏引擎
海海不瞌睡(捏捏王子)10 小时前
Unity GUI优化
unity·游戏引擎
心前阳光11 小时前
Unity之Luban表格配置
unity
mascon12 小时前
unity mcp 使用
unity·游戏引擎
心前阳光13 小时前
Unity之语音提问,语音答复
unity·游戏引擎
mxwin15 小时前
Unity Shader UV 坐标与纹理平铺Tiling & Offset 深度解析
unity·游戏引擎·shader·uv