Unity代码设置天空盒子skybox 及定时切换
目录:
- 一、代码
- 二、解析
- 三、核心
前言:并非自创,看的是同行的博文——在此向前人致谢
一、代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ChangeSkyBox : MonoBehaviour
{public Material[] mats;private int index=0;public int changeTime;//更换天空盒子的秒数// Start is called before the first frame updatevoid Start(){Debug.Log(System.DateTime.Now.Hour);InvokeRepeating("ChangeBox",0,changeTime);}// Update is called once per framevoid Update(){//if(System.DateTime.Now.Hour>6&& System.DateTime.Now.Hour<18)//{// RenderSettings.skybox = mats[0];//}//else//{// RenderSettings.skybox = mats[1];//}}public void ChangeBox(){RenderSettings.skybox = mats[index];index++;index %= mats.Length;}
}
二、解析
1、天空盒子 代码设置 函数
RenderSettings.skybox = 天空盒子材质球;
2、切换原理
public void ChangeBox(){RenderSettings.skybox = mats[index];index++;index %= mats.Length;}
假设有两个天空盒子,放在材质数组中
定义整形变量index,表示要使用材质球的索引
每切换一次索引 index 加1(index++),每次切换要用到的材质球是mats[index]
依次用到的材质球分别是:
mats[0]
mats[1]
mats[2
] 2
%2=0 即mats[0]
mats[3
] 3
%2=1 即mats[1]
mats[4
] 4
%2=0 即mats[0]
3、定时调用
用InvokeRepeating函数,每隔一段时间,调用一下2、的切换函数
public int changeTime;//更换天空盒子的秒数void Start(){Debug.Log(System.DateTime.Now.Hour);InvokeRepeating("ChangeBox",0,changeTime);}
三、核心
循环算法:
索引加出“数组范围”时,整除“数组长度”,会重新循环——如:索引范围0、1,
当索引加成2时,出了数组范围,整除“数组长度”,得到0,开始循环。
Unity代码设置天空盒子skybox 及定时切换相关推荐
- Cesium与STK中的天空盒子(skybox)
天空盒子是计算机图形学中的概念,用于在3D展示中,显示观测者上下左右前后的全景图像. 星空图介绍 在STK和Cesium中,常常以地球为中心天体,背景就是宇宙星空,观测者超哪个方向看,就可以看到对应方 ...
- Unity如何调整天空盒子
Unity如何调整天空盒子 首先在: unity Asset store里找到合适的天空盒子,如下所示. 然后在window->package manager->my assets中找到刚 ...
- OpenGL应用:天空盒子(SkyBox)
天空盒子(skyBox) SkyBox 制作3D游戏的一个经典技术应用. 原理 SkyBox 是基于正方体模型的渲染技术.将6个方向拍下来的天空图片分别贴在正方体的对应面上,从内部观察正方体就可以得到 ...
- 天空盒子-skybox
天空盒子制作说明 通过PS切割skybox,借图一用,有图有真相 右手规则,输入图片 图片对应位置说明 实践素材 使用PS进行分割切片 分割过程中保持每个图片的大小相同 存储为web所用格式 筛选 ...
- jQuery代码设置input输入框 不可编辑的切换
1.开启disabled,是input不可以编辑 $("#input_id").attr("disabled","disabled"); 2 ...
- 【Unity3D】立方体纹理(Cubemap)和天空盒子(Skybox)
1 立方体纹理(Cubemap) 本文完整资源见 → 立方体纹理(Cubemap)和天空盒子(Skybox) . 1)立方体纹理简介 立方体纹理是指由上.下.左.右.前.后 6 张纹理组成的立方体结构 ...
- Unity代码添加设置Tag或Layer
Unity代码设置Tag或Layer 描述 代码 注意 描述 Unity中设置Tag和Layer的方法,大家都知道,步骤较为繁琐.有时将一些代码复用到其他项目时,经常会出现Tag或Layer,不存在或 ...
- android定时切换活动,安卓手机如何定时自动切换情景模式 (全文)
相信很多人都知道手机情景模式这个功能.它可以根据不同场景环境而将手机调为静音或者震动模式.这个功能确确实实方便了许多人,因而也经常被使用.但是很多人希望手机能定时自动切换情景模式.安卓系统本身目前并不 ...
- Unity ASE案例解析—Skybox Cubemap Extended(天空盒子三维贴图效果)
效果图 目录 1.基础配置 2.BUILT-IN FOG-内置Fog配置 3.CAMERA MODE-切换相机 4.CubeMap设置 5.Cubemap Mix 6.Emission Mix Sha ...
最新文章
- TSC打印机编程C#
- 无法打开源文件 “iostream.h“
- ##自定义一个自动注入Log 的 插件
- python pip安装模块失败的原因
- 探讨磷酸铁锂电池在UPS的应用
- flink 4-输出
- 网络相关知识点:nginx相关概念
- python设置cookie_Python中cookie的设置方法
- Unity开发《一起来捉妖》教程 | 2.用摄像头图像做背景
- mysql privileges
- 禅道----产品经理创建产品
- 利用JavaScript批量删除QQ空间说说(只需一个浏览器)
- c# 通过手淘分享查询淘宝优惠券
- Vue3生命周期函数的那些事
- 【综述】3D智能数字化与3D打印:中国制造向中国智造转变的机遇
- 关于算法工程师,你想知道的都在这里!
- 徐玉玉案有感——安全测试有风险,且行且珍惜
- pc端手机短信发送的介绍
- 小程序源码:全新强大的恋爱话术土味情话-多玩法安装简单
- hawe平衡阀LHK40F-11CPV-350