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

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

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

相关推荐
ThreePointsHeat3 小时前
Unity 关于打包WebGL + jslib录制RenderTexture画面
unity·c#·webgl
BuHuaX8 小时前
Unity_AssetBundle相关
unity·c#·游戏引擎·游戏策划
神码编程9 小时前
【Unity】 HTFramework框架(六十八)StringEditor字符串复杂编辑器
unity·编辑器·游戏引擎·htframework
TO_ZRG11 小时前
Unity-iPhone、Unity-Framework target 如何选择、@rpath报错
unity·ios·iphone
平行云19 小时前
World Labs & Paraverse:统一3D世界的创造与访问
3d·unity·ai·ue5·aigc·实时云渲染·云xr
jtymyxmz1 天前
《Unity Shader》7.2.3 实践 在切线空间下计算
unity·游戏引擎
在路上看风景1 天前
1.5 Material
unity
WarPigs2 天前
Unity红点系统笔记
unity·游戏引擎
作孽就得先起床2 天前
unity UnauthorizedAccessException: 拒绝访问路径
unity·游戏引擎
tealcwu2 天前
【Unity踩坑】Unity项目提示文件合并有冲突
elasticsearch·unity·游戏引擎