【我的世界原理分析】1.光照原理

1 篇文章 0 订阅
订阅专栏

【我的世界原理分析】1.光照原理

前言

最近在研究类我的世界这样的游戏,方便以后开发以及提供给更多人一个思路。大家多多评论留言我会不断更新更多相关内容。

首先看一下我的世界的画面效果,我们后面的一章节再讲讲地形生成原理。
我的世界1.12.2最终显示效果
(最终效果)

1.平滑光照

拆分效果首先从最终效果开始拆,先把我的世界中的平滑光照关闭和开启来对比一下。
关闭平滑光照的按钮
关闭平滑光照后的效果
开启平滑光照的按钮
开启平滑光照后的效果
可以对比出来效果只是在方块的边缘和夹角设置了明暗部的过度。这个可以在shader中的着色器增加顶点颜色(后面的效果其实都可以基于顶点颜色来实现)或者其他效果来实现。这里不做实现只是提供方案,而且网上可以找到对应的shader代码实现效果。

2.环境光

我们已经关闭了平滑光照效果。那么再来看看这个方块有什么玄机。
普普通通的草方块
以上这个是天亮时的方块
黑暗下的草方块
以上是天黑时的方块

我们可以看到它除了整体颜色变暗了,但是明暗面却没有变,它不会因为太阳光的位置而改变明暗部的面。因此我们可以大胆猜测这个方块的面其实就是写死的(写成了固定的明暗效果)。

在shader中依然可以用顶点颜色来实现,我们可以根据世界时间来定义一个黑色到白色的颜色值我们叫它亮度颜色。将原本显示的顶点颜色 乘以 这个亮度值 就可以了。

3.光照算法

到此我们实现了因时间而变化颜色深度的效果 和 平滑光照的效果。
但是还差了一步。平滑光照的光照是什么?仅仅只是夹角部分会变暗而已吗?
在我的世界里面挖了一个矿洞,虽然是白天矿洞内依然是黑色的,但洞口是亮的。
其实这个就是光照算法,根据光的传播来实现方块某个面的颜色亮度。

用羊毛简单搭建的模拟矿洞
我们用羊毛来简单搭建的模拟矿洞。
可以看到洞口是亮的,到洞内越来越暗。(这种效果称为AO环境光遮蔽(Ambient Occlusion)“AO”为Ambient Occlusion的缩写。MC通过算法实现AO)

我们可以把光也看做为一种光源方块。天光直接照射到的地方是最亮的地方。
然后这些方块以此向四周蔓延。天光直接照射到地面的亮度在mc中为15。最暗的是0,也就是完全黑色(想想你没有带火把在矿洞里摸黑的感觉)。
概念图
这个光源方块亮度设置为15,然后向四周衰减蔓延。向四周衰减为14,然后得到14亮度的光源们再向四周衰减到13亮度。然后依次衰减到0。
如果有两个光源衰减传播,就取亮度最大的。
平面示意图
平面原理图。(如果还不懂可以评论区留言)
萤石亮度传播

比如萤石这种有亮度的方块其实也可以按照这种方式来衰减传播亮度。你也可以每次衰减2的亮度来达到缩减一倍的亮度范围。

下一篇来讲讲我的世界的无限范围的mesh地形生成和优化。

从0开始编写minecraft光影包(0)GLSL,坐标系,光影包结构介绍
AKGWSB 's blog
09-14 1万+
目录前言我参考的资料GLSL入门顶点与片段着色器变量修饰向量操作矩阵运算使用纹理数学帮助函数坐标系世界坐标系 前言 minecraft作为一款知名的沙盒游戏,影响了一代人 ,我从初中开始玩minecraft,一直玩到带学 。minecraft本身的画质并不好,但是打了shadermod之后,可以达到炸裂般的高画质。shadermod又称光影mod,他需要配合光影包(即一系列的代码)来实现渲染的效果。渲染的效果取决于代码。 小时候,由于家里电脑配置并不好,无法流畅地运行光影mod,于是我开始想办法做“优化”,
UE4-(光照光照贴图大小及环境光遮蔽
Stone的博客
04-28 1万+
光照贴图: 除了烘焙场景时设置光照贴图大小的设置之外,场景中的静态网格体同样拥有光照贴图分辨率,并且根据模型大小的不同各自光照贴图分辨也不同。 房子外壳模型: 书本: 注意:在大多时候请使用低分辨率光照贴图。大多数拥有光照贴图的模型他们的贴图分辨率是 16、32、64或者是128,如果每个模型光照贴图分辨率都设置成1024或者2048,我们的内存空间将不够用,构建时间、光照效果也会...
我的世界做计算机原理,我的世界计分板运算机制原理详解
weixin_32273559的博客
07-15 618
我的世界里面计分板的制作对新手玩家来说可能比较困难,特别是各种运算机制需要对电子电路比较了解,下面是计分板的计算机制和原理详解,看明白的话不妨自己试着制作计分板。计分板运算机制原理详解输入12加上2589计分板是如何得到结果2601呢/scoreboard players operation @p 2 += @p 1命令讲解:/scoreboard players operation 计分板进行运...
类Minecraft方块游戏unity开发笔记3-光照算法
AdamWu's Blog
02-16 1427
Minecraft的光照算法是简单的单光源光照,即一个单元(block)只能被一个光源影响,所以也就没有光源的叠加。由于太阳光会随着日夜变化而改变,所以太阳光(sun)和其他光源是独立开来的,即一个block会有一个sky光照量和一个point光照量(其他光源)。光照分为16个等级,即0-15,15为最亮,线性衰减,Minecraft按照0.8递减(衰减方式可自定义),如下:15 -> 100%
【光线追踪系列十五】MC光照散射与基于重要性采样的材质
qq_35312463的博客
05-19 600
本文主要参照 Ray Tracing: The Rest of Your Life,其中只是主要精炼光追相关理论,具体实现可参照原文。 我们在前两本书中编写的随机程序的一个问题是,小光源会产生太多的噪声,因为我们的均匀采样不够频繁。如果我们发送更多的随机样本到光照下,我们可以减少这个问题,但是我们需要降低这些样本的权重,以适应过采样。我们如何调整?为此,我们需要概率密度函数的概念。 解释一下上面这一段,是什么意思呢,就是说,光源很小,我们发射的采样光线大多数根本打不到光源上,比如挨着的两个像素,而且这两个像
STM32_MC20原理
11-02
altium designer中关于的STM32与MC20联合封装的STM32_MC20原理
Unity 版我的世界示例源码 MineCraft
02-01
本篇文章将深入探讨Unity版我的世界示例源码 MineCraft,带你了解其背后的实现原理和编程技术。 首先,我们要明确Unity引擎的核心优势:它提供了一个全面的3D图形库,支持C#编程语言,并且包含了一套完整的物理引擎...
大学计算机必修课 编译原理,大学计算机必修课新讲-编译原理+操作系统+图形学2020...
weixin_32239523的博客
07-16 3166
1-1 学前方向标1.mp4* j8 f- m9 |% U% j. J% c" [. P, \1 X4 k; U% Z* Q1-2 课程中的工具以及学习方法.mp4' W6 _7 s2 n- Eh; ?2 l* ]( tu6 q. d+ r2-1 什么是计算机.mp4% o/ l! k* z/ s! d4 q: b7 c; ], T! D, _. `6 ~2-2 CPU的工作原理――内存、...
UnityShader[1]光照模型
Thanatos_Left的博客
05-01 4103
UnityShader学习笔记[1]光照模型
光照模型与阴影算法分析
# 1. 引言 #### 1.1 研究背景介绍 在计算机图形学领域,光照模型和阴影算法是两个重要的研究方向。光照模型用于模拟真实世界中的光照...因此,深入分析光照模型和阴影算法的原理与实现,并探索其在图形学应用中的优
MC基本原理1MC基本原理1MC基本原理1MC基本原理1MC基本原理1
08-14
MC基本原理1MC基本原理1MC基本原理1MC基本原理1MC基本原理1
深入理解three.js中的光照效果
三维图形渲染涉及到几何学、光学和计算机图形学等多个领域的知识,其基本原理是通过对三维物体的几何结构和表面特性进行建模,并利用光照效果来模拟真实世界中的光影效果,最终呈现在二维屏幕上。 ## 1.2 three....
从零开始编写minecraft光影包(1)基础阴影绘制
AKGWSB 's blog
09-16 8199
前情提要: 从0开始编写minecraft光影包(0)GLSL,坐标系,光影包结构介绍 前言 在当了n天的懒狗之后,还是 掘腚 决定填一下坑。。今天来完成咱光影包的第一个特效,也是最基础的特效–阴影绘制 阴影实现原理 总所周知光照到物体上会反射,而光被物体挡住,物体遮蔽的部分就会呈现暗色。 那么已知一个点 P,如何判断该点是否落在阴影中呢? 这里有一个很简单的方法:比较 P点到光源的距离 和 离光源最近的点到光源的距离 ...
我的世界光影Java优化_教程/提高帧率 - Minecraft Wiki,最详细的官方我的世界百科...
weixin_36429611的博客
02-25 7856
帧率(Frame rate,又称FPS)是视频设备产生叫作帧的独特连续图像的频率。帧是静态图像,当组合在一起的时候,就成为了流媒体,这是所有的移动媒体的基础。帧率通常表示每秒的帧数(FPS)。低FPS将会导致不稳定的游戏体验,在极端情况下,几秒才会显示一个画面。高难度的计算(像点燃许多数量的TNT或在Minecraft里生成一群生物)会使FPS暂时降低,甚至完全停止几秒。如何查看FPS注意显示的F...
随机采样方法整理与讲解(MCMC、Gibbs Sampling等)
weixin_34417183的博客
02-01 2500
本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅。其实参考资料中的资料写的比我好,大家可以看一下!好东西多分享!PRML的第11章也是sampling,有时间后面写到PRML的笔记中去:) 背景 随机模拟也可以叫做蒙特卡罗模拟(Monte Carlo Simulation)。这个方法的发展始于20世纪40年代,和原子弹制造的曼哈顿计划密切相关,当时的几个大牛,包...
我的世界光影使用方法
热门推荐
Meepoljd的博客
08-02 4万+
光影使用方法 写这个主要是为了记录下最近捯饬我的世界服务端和客户端时遇到的一些东西,全当随笔了。 首先要确认已经安装了高清补丁,这次使用的客户端版本是1.12.2 1.下载光影压缩包,一般都是zip格式 2.将压缩包放进游戏目录的.minecraft/shaderpacks下 3.进入游戏进行设置,选项->视频设置->光影 选择刚才添加的光影即可,一般会卡几秒,设定完成以后就...
类Minecraft方块游戏unity开发笔记4-光照算法(优化)
AdamWu's Blog
02-16 1830
光照计算的优化主要在提前初始化所有block光照(skylight和pointlight),之前把光照的初始化和光照的更新、地形的加载同步进行,导致运算的重复性太高。比如初始化某一chunk的光照量,计算中,发现有光照影响到其他chunk,但是由于该chunk还未加载或是还未初始化(太阳光初始化),只能暂存该光源,等到chunk初始化好了,再重新算该光源影响,而且很大概率该chunk的光照又会影响之
从零开始编写minecraft光影包(5)简单光照系统,曝光调节,色调映射与饱和度
AKGWSB 's blog
10-03 4156
完整资源: 我的Github地址 前情提要: 从0开始编写minecraft光影包(0)GLSL,坐标系,光影包结构介绍 从零开始编写minecraft光影包(1)基础阴影绘制 从零开始编写minecraft光影包(2)阴影优化 从零开始编写minecraft光影包(3)基础泛光绘制 从零开始编写minecraft光影包(4)泛光性能与品质优化 目录前言光照系统曝光调节ToneMapping饱和度与滤镜 前言 国庆放假摸鱼好久了。。。今天来更新一下罢 上次讲到实现了更好品质的泛光,可是因为mc光照系统过于
Unity Minecraft 我的世界 核心渲染机制的简单实现 一个面的渲染
暗光之痕的博客
12-22 6793
版本:unity 5.4.1  语言:C#   最近在看MC的代码,但是10M的代码看得我实在够呛,后来去找了一些Unity相关实现的工程,可惜国内都使用的是cube来做方块,渲染一万个方块还好,百万级别的就够呛了。   后来看了网友的建议后,翻墙去youtube上找了相关的视频,花了一个晚上把代码抄下来后,这几天把核心的渲染逻辑研究清楚了,给大家分享一下。   这边只是做一个面的渲染
写文章

热门文章

  • 【我的世界原理分析】1.光照原理 3656

分类专栏

  • 白嫖区
  • 我的世界原理分析 1篇
  • 我的世界 1篇

最新评论

  • 【我的世界原理分析】1.光照原理

    2301_78270932: 下次能搞方块更新抑制器吗?

  • 【我的世界原理分析】1.光照原理

    xiaov666: 推荐一个帖子让你搞懂什么是AO?什么是法线贴图?什么是漫反射?什么是光晕?什么是景深? (自百度贴吧)https://tieba.baidu.com/p/6533090914

大家在看

  • 知识库 | 客户运营中的知识共享与团队协作
  • 电商返利平台的实时推荐与个性化服务 2263
  • 2024华为杯研赛D题原创python代码+结果表|全部可运行|精美可视化
  • 限和最长子序列
  • C++——将数组a[5]={-1,2,9,-5,7}中小于0的元素置成0。并将其结果输出(要求:用数组名作为函数的参数来实现)

最新文章

2021年1篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家杭州玻璃钢人物雕塑厂家推广郑州创意玻璃钢雕塑玻璃钢雕塑龙骨西藏韩愈玻璃钢名人雕塑乐清玻璃钢造型雕塑湖南玻璃钢广场雕塑周口室外玻璃钢雕塑定制大理玻璃钢雕塑制作厂家全南玻璃钢雕塑厂家厦门公园玻璃钢雕塑价格四川景区玻璃钢雕塑图片乌兰察布造型玻璃钢雕塑哪家专业玻璃钢动物雕塑排行榜当阳玻璃钢雕塑狮子大渡口玻璃钢人物雕塑商场美陈装置图大黄蜂商场美陈玻璃钢小矮人雕塑广东玻璃钢金属雕塑制作杭州玻璃钢雕塑摆件采购蜗牛玻璃钢卡通雕塑订制栖霞商场大型美陈植物玻璃钢雕塑多少钱玻璃钢毛笔雕塑江苏玻璃钢牛雕塑玻璃钢佛像雕塑批发代理珠海玻璃钢鳄鱼雕塑商场里商业美陈一般多少钱李白玻璃钢雕塑铜川人物玻璃钢雕塑公司香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化