学会这个昼夜系统,你也能做出一款饥荒生存类游戏DEMO!


学会这个昼夜系统,你也能做出一款饥荒生存类游戏DEMO!

《饥荒》作为生存类游戏的老大哥,深受大家喜爱,这款游戏于2012年年底正式公测上线,距今已有10年的时间,从最初的单机版慢慢推出了联机版,也让这个无人问津的小众游戏逐渐成为坐拥千万级粉丝的独立游戏。
在这里插入图片描述
我们今天来聊一下饥荒这类游戏中实现昼夜效果

昼夜系统的核心就是灯光强度,我们需要规划好白天多久、夜晚多久,然后主要是修改灯光的强度来营造夜晚的氛围。但是需要注意的是,Unity中,除了去修改我们自己创建出来的灯光强度以外,还需要修改环境光的强度,也就是窗口中Window-Rendering-Lighting Settings-Intensity Multiplier选项,但是我们需要时候实时修改
在这里插入图片描述
当我们明确,两个时间点的灯光强度后,问题在于如何知道两个时间之间也就是当前时间的灯光强度,这里我们可以采用类似插值的做法,比如早上灯光强度为0,中午灯光强度为1,如果当前刚好处于早上和中午时间点的中间,那么理所当然当前强度时0.5,不只是灯光强度,颜色、角度等都可以基于这种思路去实现。

有些游戏,并不是只有早中午三个时间点,我们可能需要模拟傍晚的效果,也许中午和晚上的过渡并不难实现一个比较美的效果,所以在功能上我们要实现的效果是将不同时间的灯光强度、角度、颜色等做成配置,然后在运行时候自动做过渡,就可以满足配置的需求,也更方便修改以及优化在这里插入图片描述
需要注意的是,有时候场景中不是只有一个平行光,可能有其他作用于环境的灯光,要统一管理,有些物体可能还有自发光,也要考虑夜晚时候,画面是否正常和谐。

如果早晨需要迷雾效果的话,可以用代码启用这里,然后在中午的时候关闭
在这里插入图片描述
授之以鱼,不如授之以渔。为了让喜欢游戏开发的小伙伴能尽早开发出自己的《饥荒》类游戏Demo,我们开设了《饥荒》4天训练营,让大家从0做出一款游戏Demo。
原价198,现在可免费获取上课机会!扫描下方二维码即可参与

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/629855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务

技术背景 我们在对接Unity下推送模块的时候,遇到这样的技术诉求,开发者希望在Android的Unity场景下,获取到前后摄像头的数据,并投递到RTMP服务器,实现低延迟的数据采集处理。 在此之前,我们已经有了非常成…

大模型学习之书生·浦语大模型5——基于LMDeploy大模型量化部署实践

目录 大模型部署背景 LMDeploy部署 量化 TurboMind API server 动手实践环节

LCR 173. 点名(二分)

一、题目描述 LCR 173. 点名 某班级 n 位同学的学号为 0 ~ n-1。点名结果记录于升序数组 records。假定仅有一位同学缺席,请返回他的学号。 示例 1: 输入: records [0,1,2,3,5] 输出: 4示例 2: 输入: records [0, 1, 2, 3, 4, 5, 6, 8] 输出: 7 二、题目解析…

flink1.14.5使用CDH6.3.2的yarn提交作业

使用CDH6.3.2安装了hadoop集群,但是CDH不支持flink的安装,网上有CDH集成flink的文章,大都比较麻烦;但其实我们只需要把flink的作业提交到yarn集群即可,接下来以CDH yarn为基础,flink on yarn模式的配置步骤…

2024-01-16 创业日记-关于用户需求分析-思考

摘要: 创业公司一个非常大的问,就是制造的产品没有市场。创始人所设想的需求,不是真正的市场上所缺失的,导致开发出的产品不被市场认可。 那么需求是如何确定的呢?需求是怎么来的呢?自己所设想的用户需求&#xff0c…

时间函数 localtime localtime_r

时间函数 localtime localtime_r localtime 和 localtime_r 的函数功能: converts the calendar time timep to broken-time representation 在调用 localtime 和 localtime_t 函数时,需特别注意: localtime 是不可重入函数,非线…

Resemble Enhance音频失真损坏修复AI工具:一个开源语音超分辨率AI模型

Resemble Enhance是一款强大的音频处理工具,可以将嘈杂的录音转化为清晰而有力的声音,为用户提供更优质的听觉体验。这个工具不仅可以有效去除录音中的各种噪声和杂音,还能够恢复音频失真并扩展音频带宽,使原本的声音听起来更加清…

高级分布式系统-第10讲 分布式控制系统

高级分布式系统汇总:高级分布式系统目录汇总-CSDN博客 自动化是关于一切人造系统自动、智能、自主、高效和安全运行的科学与技术 计算机控制技术是实现自动化的主要方法和手段 分布式控制技术是伴随着机器大工业生产而诞生的特殊计算机控制技术 计算机控制系统 …

echarts业务中常用属性设置记录

1.legend计算占比&#xff08;解决占比总和不等于100%的问题&#xff09; //在data中定义两个字段 total:0, znum:0 //计算上面两个值 this.data.forEach(val > this.total parseInt(val.value)); for (let i 0; i < nv.length; i) {if (i ! nv.length - 1) {this.znum…

Qt/QML编程之路:使用camera摄像头(35)

汽车应用中,camera起到了越来越多的作用,数字化的作用,这点无可争议,而作为GUI设计工具,如何让Camera类的应用能更好的发挥作用呢? You can use Camera to capture images and movies from a camera, and manipulate the capture and processing settings that get appl…

网站防御爬虫攻击有哪些方式

很多网站都深受爬虫困扰&#xff0c;网站在被爬虫大量抓取的的时候经常容易被爬虫把服务器资源抓崩了&#xff0c;有的时候&#xff0c;同行也会来爬取我们网站进行数据采集&#xff0c;影响我们站点的原创性&#xff0c;那么如何进行相对应的防护还是非常重要的&#xff01; …

mysql新增用户密码控制局域网访问权限

方法一、通过navicat中sql语句新增 CREATE USER usernamelocalhost IDENTIFIED BY password; GRANT ALL PRIVILEGES ON *.* TO usernamelocalhost WITH GRANT OPTION; FLUSH PRIVILEGES;把其中的username和password改成自己的即可 如果将上面的localhost改成%&#xff0c;则这…

从CISC到RISC-V:揭开指令集的面纱

对于大多数同学来说&#xff0c;计算机或智能手机的运行似乎就像魔法一样神奇。你可能知道它们内部都是一些复杂的电子组件&#xff0c;比如CPU、内存等等&#xff0c;但这些组件是如何协同工作&#xff0c;让我们可以在电脑上打字&#xff0c;或者在手机上看视频呢&#xff1f…

1.环境部署

1.虚拟机安装redhat8系统 这个其实很简单&#xff0c;但是有一点小细节需要注意。 因为我的电脑是 16核心的&#xff0c;所以选择内核16&#xff0c;可以最大发挥虚拟机的性能 磁盘选择SATA&#xff0c;便于后期学习 将一些没用的设备移除 选择安装redhat 8 时间选择上海 选择…

Python 语法糖

一、基本概念 语法糖&#xff0c;可以理解为&#xff1a;“甜蜜” 的便捷语法。 它是编程语言为程序提供的更简洁、更易读的语法实现的语法结构&#xff0c;它并不影响语言的功能&#xff0c;仅仅是一种更便捷的书写方式。 这就像你制作蛋糕时&#xff0c;使用现代烤箱而不是…

无法解析的外部符号ShellExecuteExW

问题情况 在QT使用&#xff1a;ShellExecuteEx时遇上这么一个错误&#xff1a;遇上这么一个错误&#xff1a; error: LNK2019: 无法解析的外部符号 __imp_ShellExecuteExW *ReportService.obj&#x1f44e; error: LNK2019: 无法解析的外部符号 __imp_ShellExecuteExW&#x…

源码部署Milvus(三)成功解决vscode调试milvus源码时间超时问题!

作者有话说 继上周成功调试后出现时间超时问题&#xff0c;且想定位create_index等如何触发milvus底层实现文件&#xff0c;总是报错Timeout&#xff0c;这周碎片化抽空解决此问题&#xff0c;猜测可能是vscode配置的调试环境有问题&#xff0c;果不其然&#xff01; 报错 g…

React16源码: React中调度之scheduleWork的源码实现

scheduleWork 1 &#xff09; 概述 在 ReactDOM.render, setState, forceUpdate 这几个方法最终都调用了 scheduleWork 这个方法 在 scheduleWork 当中&#xff0c;它需要去找到更新对应的 FiberRoot 节点 在使用 ReactDOM.render 的时候&#xff0c;传给 scheduleWork 的就是…

RocketMQ源码阅读-Producer消息发送

RocketMQ源码阅读-Producer消息发送 1. 从单元测试入手2. 启动过程3. 同步消息发送过程4. 异步消息发送过程5. 小结 Producer是消息的生产者。 Producer和Consummer对Rocket来说都是Client&#xff0c;Server是Broker。 客户端在源码中是一个单独的Model&#xff0c;目录为rock…

ASP.NET Core 的 Web Api 实现限流 中间件

Microsoft.AspNetCore.RateLimiting 中间件提供速率限制&#xff08;限流&#xff09;中间件。 它是.NET 7 以上版本才支持的中间件&#xff0c;刚看了一下&#xff0c;确实挺好用&#xff0c;下面给大家简单介绍一下&#xff1a; RateLimiterOptionsExtensions 类提供下列用…