水波荡漾效果+渲染顺序+简单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组件,默认取消勾选。

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

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

相关推荐
WarPigs1 天前
Unity无法修改Assembly-CSharp.csproj错误
unity
FairGuard手游加固2 天前
手游加固怎么做?SO、IL2CPP、AssetBundle 与运行时保护详解
安全·游戏·unity
阿松爱学习3 天前
【Unity开发】监听Scene场景事件
unity·c#
xiaogai_gai3 天前
BOM 物料清单同步实战:金蝶云星空 → 四化智造 MES 修改场景深度拆解
unity·游戏引擎
淡海水3 天前
03-03-架构篇-SGen GC架构解析
unity·架构·c#·gc·sgen
萌萌的提莫队长4 天前
Unity相机捕捉,图像识别,抠像+合成
opencv·unity
mxwin5 天前
Unity Shader 光线追踪原理与实战案例
unity·游戏引擎
地狱为王5 天前
Unity使用DPDFNet实现实时语音增强(降噪)
unity·语音增强·降噪·dpdfnet
平行云PVT5 天前
国产信创实时云渲染解决方案:如何实现数字孪生与三维应用云化部署?
unity·webrtc·unreal engine·实时云渲染·国产信创·摩尔线程·砺算科技
夏炎黄5 天前
Terrain地形剪裁
unity