199 - 光照简介

Demo项目资源:迅雷云盘 提取码:7ca4

视频系列地址:白熊游戏-chutianbo的个人空间-白熊游戏-chutianbo个人主页-哔哩哔哩视频

Unity 技术美术入门系列 19-Lighting简介 官方教程链接:Get started with lighting - Unity Learn

本节配套文档:图形-技术美工相关/09-lighting光照简介.md · chutianshu/AwesomeUnityTutorial - Gitee.com

200 - 光照设置

Demo项目资源:迅雷云盘 提取码:7ca4

视频系列地址:白熊游戏-chutianbo的个人空间-白熊游戏-chutianbo个人主页-哔哩哔哩视频

Unity 技术美术入门系列 20-光照设置 官方教程链接:Get started with lighting - Unity Learn

本节配套文档:图形-技术美工相关/09-lighting光照简介.md · chutianshu/AwesomeUnityTutorial - Gitee.com

200.1 光照烘焙和实时

提前渲染完毕不会变换.

即使位置移动了,灯光也不会变化.

200.2 实时&混合

与烘焙相反,会实时变化.

201 - 定向光和天空盒设置室外场景光照

201.1 天空盒材质

创建天空盒材质

设置天空盒材质

在Lighting面板中配置天空盒材质

调整参数

  • Sun Size : 太阳大小

  • Atmosphere Thickness : 大气厚度

  • Sky Tint : 天空颜色

  • Groud : 地面颜色

  • Exposure : 曝光度

201.2 夜间效果

旋转 Sunlight

配置天空盒材质

202 - 日夜更替1

Demo项目资源:迅雷云盘 提取码:7ca4

视频系列地址:白熊游戏-chutianbo的个人空间-白熊游戏-chutianbo个人主页-哔哩哔哩视频

Unity 技术美术入门系列 22-日夜更替-1

官方教程链接:Configure the Directional Light and skybox - Unity Learn

本节配套文档:图形-技术美工相关/10-定向光和天空盒.md · chutianshu/AwesomeUnityTutorial - Gitee.com

202.1 创建TextMeshPro

创建textMeshPro

设置轴心和位置.老生常谈了.

Shift & Alt 右上角.

居中 & 调整字体大小为45

202.2 创建脚本进行时间流逝

创建空游戏物体,TimeController

添加脚本

编写脚本 TimeController.cs

using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;public class TimeController : MonoBehaviour
{//添加序列化字段,表示UI中富文本框,用来显示24小时制时间[SerializeField]private TextMeshProUGUI timeText;//游戏启动时的起始时间[SerializeField]private float startHour;//表示当前时刻时间private DateTime currentTime;private TimeSpan sunriseTime;private TimeSpan sunsetTime;//日出时刻[SerializeField]private float sunriseHour;//日落时刻[SerializeField]private float sunsetHour;//时间速度[SerializeField]public float timeSpped;void Start(){currentTime = DateTime.Now.Date + TimeSpan.FromHours(startHour);Debug.Log(startHour);Debug.Log(TimeSpan.FromHours(startHour));//sunriseTime = TimeSpan.FromHours(sunriseHour);//sunsetTime = TimeSpan.FromHours(sunsetHour);}// Update is called once per framevoid Update(){UpdateTime();}private void UpdateTime() {currentTime = currentTime.AddSeconds(Time.deltaTime * timeSpped);if (timeText != null) {timeText.text = currentTime.ToString("HH:mm");}}
}

配置参数

203 - 日夜更替2

using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;public class TimeController : MonoBehaviour
{//添加序列化字段,表示UI中富文本框,用来显示24小时制时间[SerializeField]private TextMeshProUGUI timeText;//游戏启动时的起始时间[SerializeField]private float startHour;//表示当前时刻时间private DateTime currentTime;private TimeSpan sunriseTime;private TimeSpan sunsetTime;//日出时刻[SerializeField]private float sunriseHour;//日落时刻[SerializeField]private float sunsetHour;//时间速度[SerializeField]public float timeSpped;//太阳光[SerializeField]private Light sunLight;void Start(){currentTime = DateTime.Now.Date + TimeSpan.FromHours(startHour);Debug.Log(DateTime.Now.Date);Debug.Log(startHour);Debug.Log(TimeSpan.FromHours(startHour));sunriseTime = TimeSpan.FromHours(sunriseHour);sunsetTime = TimeSpan.FromHours(sunsetHour);}// Update is called once per framevoid Update(){UpdateTime();RotateSunLight();}//更新时间显示private void UpdateTime() {currentTime = currentTime.AddSeconds(Time.deltaTime * timeSpped);if (timeText != null) {timeText.text = currentTime.ToString("HH:mm");}}//旋转太阳光private void RotateSunLight() {float sunLightRotate;//如果当前时间是白天if (currentTime.TimeOfDay > sunriseTime && currentTime.TimeOfDay < sunsetTime){//日升到日落总时间差TimeSpan sunriseToSunsetDuration = CalculateTimeDifference(sunriseTime, sunsetTime);//从日升到当前时间的时间差TimeSpan timeSinceSunrise = CalculateTimeDifference(sunriseTime, currentTime.TimeOfDay);//算出当前时间差和总时间的比率double percentage = timeSinceSunrise.TotalMinutes / sunriseToSunsetDuration.TotalMinutes;sunLightRotate = Mathf.Lerp(0, 180, (float)percentage);}else {//日升到日落总时间差TimeSpan sunsetToSunRiseDuration = CalculateTimeDifference(sunsetTime, sunriseTime);//从日升到当前时间的时间差TimeSpan timeSinceSunset = CalculateTimeDifference(sunsetTime, currentTime.TimeOfDay);//算出当前时间差和总时间的比率double percentage = timeSinceSunset.TotalMinutes / sunsetToSunRiseDuration.TotalMinutes;//计算旋转角度sunLightRotate = Mathf.Lerp(180, 360, (float)percentage);}//根据当前时间,将表示日光的定向光旋转到一定角度 , 绕X轴进行旋转sunLight.transform.rotation = Quaternion.AngleAxis(sunLightRotate, Vector3.right);}//自定义计算时间差方法private TimeSpan CalculateTimeDifference(TimeSpan fromTime, TimeSpan toTime) { TimeSpan diff = toTime - fromTime;if (diff.TotalSeconds < 0) {diff += TimeSpan.FromHours(24);}return diff; }
}

204 - 日夜更替3

添加一些功能 - 路灯. 白天时熄灭,黑天时亮起.

204.1 设置标签

设置灯的标签为 "StreetLampLight"

204.2 TimeController.cs

stem;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;public class TimeController : MonoBehaviour
{//太阳光[SerializeField]private Light sunLight;//控制街灯是否可用[SerializeField]private bool streetLampLightEnabled;void Start(){currentTime = DateTime.Now.Date + TimeSpan.FromHours(startHour);sunriseTime = TimeSpan.FromHours(sunriseHour);sunsetTime = TimeSpan.FromHours(sunsetHour);}//旋转太阳光private void RotateSunLight() {float sunLightRotate;//如果当前时间是白天if (currentTime.TimeOfDay > sunriseTime && currentTime.TimeOfDay < sunsetTime){//如果街灯可用,白天关闭灯光if (streetLampLightEnabled == true){//返回指定标签的所有游戏对象GameObject[] streetLamps = GameObject.FindGameObjectsWithTag("StreetLampLight");//遍历数组foreach (GameObject streetLamp in streetLamps) { //获取符合条件的游戏对象光源组件Light streetLampLight = streetLamp.GetComponent<Light>();//如果不为空if (streetLampLight != null) {streetLampLight.enabled = false;}     }}}else {//如果街灯可用,夜晚开启灯光if (streetLampLightEnabled == true){//返回指定标签的所有游戏对象GameObject[] streetLamps = GameObject.FindGameObjectsWithTag("StreetLampLight");//遍历数组foreach (GameObject streetLamp in streetLamps){//获取符合条件的游戏对象光源组件Light streetLampLight = streetLamp.GetComponent<Light>();//如果不为空if (streetLampLight != null){streetLampLight.enabled = true;}}}}}
}

205 - 光照常用设置

视频系列地址:白熊游戏-chutianbo的个人空间-白熊游戏-chutianbo个人主页-哔哩哔哩视频

Unity 技术美术入门系列 25-光照常用设置-1

官方教程链接:Get started with lighting - Unity Learn

本节配套文档:图形-技术美工相关/11-光照常用设置和经验总结.md · chutianshu/AwesomeUnityTutorial - Gitee.com

207 - 墓地,室外场景布光练习

视频系列地址:白熊游戏-chutianbo的个人空间-白熊游戏-chutianbo个人主页-哔哩哔哩视频

Unity 技术美术入门系列 27-室外场景布光练习

官方教程链接:Get started with lighting - Unity Learn

本节配套文档:图形-技术美工相关/11-光照常用设置和经验总结.md · chutianshu/AwesomeUnityTutorial - Gitee.com

207.1 导入项目

208 - 阴影设置

视频系列地址:白熊游戏-chutianbo的个人空间-白熊游戏-chutianbo个人主页-哔哩哔哩视频

Unity 技术美术入门系列 28-阴影设置1

官方教程链接:https://learn.unity.com/tutorial/configure-shadows-in-your-scene

本节配套文档:图形-技术美工相关/13-场景中配置阴影.md · chutianshu/AwesomeUnityTutorial - Gitee.com

Unity-技术美术 199-208相关推荐

  1. 什么是Unity技术美术

    技术美术,英文名是Technical Art,简称TA. 说白了就是一群既懂程序又懂美术的人. 至于技术美术是属于程序还是属于美术我们在这里不做过多讨论,要不然会打起来的... 反正我认为技术美术就是 ...

  2. 来自Riot 的一份游戏美术教程(五):技术美术

    引言 前段时间,Riot Games推出了一个针对游戏美术的系列视频:So you wanna make games??这一系列的特点是短小精悍,每集只有十分钟,却囊括了游戏美术的各个方面,对于新手来 ...

  3. 颠覆游戏开发,引领行业革命,从 Unite 2019 看 Unity 技术亮点

    在谈及 Unity 引擎时,或许不少开发者对其还停留在游戏开发的固有认知中.事实上,Unity 在"实时 3D 内容创作"的伟大航路上,已向更为广阔的全行业领域的星辰大海前进. 从 ...

  4. 【技术美术图形部分】2.2 模型与材质基础

    记录之前膜拜一下这节课的大佬,才大三,我一个研二菜狗留下不学无术的泪水! May佬提到,这次课程安排的目的是给美术同学一个缓冲的空间,我的话在写这篇学习笔记就尽量加入一些自己的理解. 友情提示!才发现 ...

  5. TA(技术美术)宝藏网站

    TA(技术美术)宝藏网站 我们不生产TA我们只是TA的搬运工(感谢马甲大佬总结!?) T部分(技术相关) 1.Shadertoy 2.GLSL SandboX 3.candycat的博客 4.关于ra ...

  6. 【技术美术图形部分】纹理基础1.0-纹理管线

    目录 1 纹理三大问 1.1 What--针对物体表面属性进行"建模" 纹理 Texture 纹理值 Texture Value 纹素 Texels 1.2 Why--降低建模工作 ...

  7. 从0开始的技术美术之路(美术篇)(一)美术理论基础

    本篇参考B站视频 "技术美术百人计划"·霜狼_may : <视觉艺术用光-在艺术与设计中理解与运用光线>-理查德-约特 本篇主要用于自我复习,会掺入一些个人观点,如有疑 ...

  8. 3D美术人员Technical Artist(TA技术美术)的学习之旅(2)

    接着之前的内容,第一章我说过了(什么是TA;为什么需要TA;TA需要做什么),相信各位也对TA有了一定浅层次的了解. 但是肯定也有很多人会觉得很困惑,那么你说了这么多,那我们该怎么做呢? 对于这个问题 ...

  9. 庄懂的技术美术入门课系列——学习笔记

    关AO的知识之前涉及到就# 庄懂的技术美术入门课系列--学习笔记 本系列旨记录看视频学习时的一些看个人的理解和思考 1.三色混合的环境光 基本思路: 物体的环境光可以想象成是在物体四周全方位向物体射出 ...

  10. 一道技术美术的面试题

    一道技术美术的面试题 https://zhuanlan.zhihu.com/p/27344672 一道技术美术的面试题 王滕昊 ​ 游戏开发 话题的优秀回答者 最近看越来越多的知乎小伙伴关注TA的这个 ...

最新文章

  1. 《Redis入门指南(第2版)》一第2章 准备
  2. 剑指offer5 从尾到头打印链表
  3. 分布式文件系统Hadoop
  4. 常见的面试思考题(MARK)
  5. DELL R740XD 开启 TPM功能
  6. mysql 硬负载_为啥单机MySQL又遭遇瓶颈?MySQL主从复制替你解决单机问题
  7. struts2静态方法和动态方法调用
  8. 表格字段居左居右规范_Excel之规范数据
  9. Hibernate关联映射-数据对象三种关系
  10. 数学好的男生适合学计算机吗,数学好的男生适合读什么专业 2021前景好吗
  11. Java面向对象概述
  12. Panda处理文本和时序数据?首选向量化
  13. linux下getrlimit与sysconf函数
  14. linux var run目录,PXE系列文章(16) - Linux /run 和 /var/run 目录介绍
  15. 如何找回Oracle所有用户丢失的密码
  16. UVA11413 Fill the Containers【二分搜索】
  17. vs不能调试_20200717调试记录(五十四)
  18. 怎么确认mysql正确安装_怎么确认mysql是否安装好了
  19. ANSYS18.2安装教程
  20. google四件套之Dagger2。从入门到爱不释手,之:Dagger2华丽使用在MVP框架中

热门文章

  1. 使用 iview 实现PC端生成推广海报与二维码并下载的功能,基于iview Modal 对话框 与 Carousel 走马灯组件实现
  2. 三星首次公开投资区块链,布局始于三年前
  3. C# 结束进程的解决方法
  4. 时区(Timezone)一览表
  5. BZOJ4605 : 崂山白花蛇草水
  6. java解决异常_聊聊Java中的异常及处理
  7. mmsegmentation安装过程报错记录
  8. in-pet流浪动物远程救助领养平台
  9. lenovo3650M5安装win2008R2
  10. Kotlin拿Android本地视频缩略图