Unity3D实现物体闪烁效果

前文

最近有一个需求是要实现物体闪烁的效果,就像地下出现珍宝一样- -,运用还是比较广的,下面的例子只是一个参考,还有很多花式玩法等待大家开发。

思路

这个就比较简单了,就是设一个全局变量控制闪烁的间隔,然后控制物体的MeshRenderer的开关就可以实现,其他更炫酷的效果,就等待大家思考了,比如控制粒子播放时间然后消失出现,效果也还好

代码

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class ShowHide : MonoBehaviour
{
 //创建一个常量,用来接收时间的变化值
 private float shake;
 //通过控制物体的MeshRenderer组件的开关来实现物体闪烁的效果
 private MeshRenderer BoxColliderClick;
 // Use this for initialization
 void Start()
 {
 BoxColliderClick = gameObject.GetComponent<MeshRenderer>();
 }

 // Update is called once per frame
 void Update()
 {
 shake += Time.deltaTime;
 //Debug.Log(shake);
 //取余运算,结果是0到被除数之间的值
 //如果除数是1 1.1 1.2 1.3 1.4 1.5 1.6
 //那么余数是0 0.1 0.2 0.3 0.4 0.5 0.6
 if (shake % 1 > 0.5f)
 {
  BoxColliderClick.enabled=true;
 }
 else
 {
  BoxColliderClick.enabled=false;
 }
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Unity利用材质自发光实现物体闪烁

    Unity中利用材质自发光实现物体闪烁效果,供大家参考,具体内容如下 补充:这种方法有一点问题,在测试(Windows平台)的时候发现,要想在Build出来的游戏中实现闪烁效果,就必须在 Project 窗口中将源材质的自发光属性(Emission)启用,否则自发光效果就只能在编辑器模式中生效. 启用源材质的自发光效果后,将其亮度(Brightness)调整为0,物体看起来就和没有启用自发光时一样. 看到别的游戏里有物体高亮闪烁效果,但自己不会写Shader,就只想到用材质自发光来做一下,不知道

  • Unity3D实现物体闪烁效果

    前文 最近有一个需求是要实现物体闪烁的效果,就像地下出现珍宝一样- -,运用还是比较广的,下面的例子只是一个参考,还有很多花式玩法等待大家开发. 思路 这个就比较简单了,就是设一个全局变量控制闪烁的间隔,然后控制物体的MeshRenderer的开关就可以实现,其他更炫酷的效果,就等待大家思考了,比如控制粒子播放时间然后消失出现,效果也还好 代码 using UnityEngine; using System.Collections; using UnityEngine.UI; public cl

  • Unity3D实现物体旋转缩放移动效果

    本文实例为大家分享了Unity3D实现物体旋转缩放移动的具体代码,供大家参考,具体内容如下 由于项目运行在安卓上,运用到了插件,比较麻烦.你们可以在触发条件上进行修改,不用插件也可以. 1.下载FingerGestures 插件 下载地址 点击打开链接 2.导入插件,创建场景 将预设Finger Gestures Initializer 拖拽到 Hierarchy 视图中 3.添加脚本,拖拽到摄像机上.创建一个方块拖拽到脚本target 属性上. using UnityEngine; using

  • unity3D实现物体任意角度自旋转

    本文实例为大家分享了unity3D实现物体任意角度自旋转的具体代码,供大家参考,具体内容如下 主要涉及函数: Input.GetAxis("Mouse x") 可取得鼠标横向(x轴)移动增量 Input.GetAxis("Mouse y") 可取得鼠标竖向(y轴)移动增量 通过勾股定理获取拖拽长度,长度越长旋转越快.在project setting--Input 可以设置. 这里用Cube来做例子,因为方体看旋转比较清楚,如图: 代码如下: using UnityE

  • Unity3D实现物体排成弧行

    本文实例为大家分享了Unity3D实现物体排成弧行的具体代码,供大家参考,具体内容如下 一般用在Pico.HTC.DP等VR设备中 效果: 完整代码: using System.Collections; using System.Collections.Generic; using UnityEngine; public class CanvasPositionManager : MonoBehaviour { private float radius = 700f;//圆的半径 private

  • Unity之绕轴进行旋转的操作

    先上一张效果图 using UnityEngine; using System.Collections; public class TestRotateRound : MonoBehaviour { public GameObject Sphere; private float curtTime = 0.0f; void Update() { //使用C#封装好的代码RotateAround gameObject.transform.RotateAround(Sphere.transform.p

  • Unity3D实现射线使物体移动

    本文实例为大家分享了Unity3d如何通过射线使物体移动的具体代码,供大家参考,具体内容如下 实现: using System.Collections; using System.Collections.Generic; using UnityEngine; public class RayTest : MonoBehaviour { //设置射线在Plane上的目标点target private Vector3 target; // Use this for initialization vo

  • Unity3D获取当前键盘按键及Unity3D鼠标、键盘的基本操作

    获取当前键盘按键,代码如下: using UnityEngine; using System.Collections; public class GetCurrentKey : MonoBehaviour { KeyCode currentKey; void Start () { currentKey = KeyCode.Space; } void OnGUI() { if (Input.anyKeyDown) { Event e = Event.current; if (e.isKey) {

  • Unity3D撤回命令开发详解

    本文实例为大家分享了Unity3D撤回命令功能开发,供大家参考,具体内容如下 在类似操作考核的项目中我们经常会遇到回到上一步的需求.所以我们有必要对每一个状态点的所有参与交互的物体的状态进行记录.好了,下面就是代码的实现: 首先肯定要创建命令的基类, public class BaseCommand { //执行命令 public virtual void ExcuteCommand() { } //撤销命令 public virtual void RevocationCommand() { }

  • Unity3D使用GL实现图案解锁功能

    聊天是时候看到有人问如何在Unity3D的UGUI中实现图案解锁的功能,然后便试了一下.刚开始想用LineRender来实现,但又一想是要在UGUI中,然后就用了另外一种方法,即使用GL类来实现. GL相关介绍及官方文档 实现后在Android手机上跑的效果如下: 主要实现GraphicUnLockManager类.代码如下: using UnityEngine; using System.Collections.Generic; using System; using UnityEngine.

随机推荐