分析:

太阳光照射在地球上,光照的变化是有一定的规律的。

  • 地球自转——一天的光照
  • 地球公转——一年的光照

模型化:

为了简化整套光照系统,将地球和太阳分别用球体和定向光源模拟。所有的光照变化都可以看作是太阳围绕着地球的运动。

其中,引擎自带的球体分段数不高,比例放大容易出现棱角边缘。所以,在这里使用了另一个高分段的球体资源。


地球:

  • 球状网格体
  • 地球表面材质

太阳:

  • 定向光源组件
  • 移动-自转&公转

移动:
为了模拟真实的时间光照位置,我们需要:
1、旋转定向光源的Z(Yaw)数据,直到太阳光照刚好划分东西半球,并且东半球是明亮区域。记下此时的旋转Z(Yaw)值为InitYaw,这里为110°。

2、满足①的时候,太阳直射70°E(东五区),时间为12:00。此时,北京时间东八区(120°E),时间为15:20。

经度间隔:120°-70°=50°
时间间隔:50°×4min/°=3h20min

3、根据①和②的数据,可以得到默认情况(未修改Z(Yaw)值)时,北京时间东八区的具体时间InitTime。

时间间隔:110°*4min/°=7h20min
初始时间:15:20-7:20=8:00

4、在代码中获取当前系统时间,跟InitTime进行对比,并进行计算获得旋转分量XY_Value(地球自转分量)

5、春分和秋分的时候,地球刚好以南北极为顶点被划分为明暗半球。旋转定向光源的Y(Pitch)值,使光照刚好以南北极为顶点划分地球,一般此处不需要调整。

6、根据赤纬角的计算公式,得到系统时间下太阳直射点的改变的朝向Z_Value(地球公转分量)

赤纬角又称太阳赤纬,是地球赤道平面与太阳和地球中心的连线之间的夹角。
当日期为1月1日时,n=1,当日期为3月22日时,n=81。
δ=23.45×sin(2×PI×(284+n)/365)

代码如下:

7、将计算得到的值应用到太阳上

在这里要注意,游戏引擎内的变换旋转是“Roll, Pitch, Yaw”,但是在代码内FRotator是“Pitch, Yaw, Roll”。因此,要注意这里的调整。

代码如下:

效果

SpaceSun 虚幻编辑器 2020-08-07

【UE】地球光照模拟--太空视角相关推荐

  1. 如何在3D模型上实现太阳光照模拟?

    如何在3D模型上实现太阳光照模拟? 示例描述与操作指南 示例效果展示 实现步骤 示例描述与操作指南 当前示例用于模拟太阳光照效果. 示例效果展示 实现步骤 第一步 添加屏幕炫光 /*** @descr ...

  2. 有趣的黑掉卫星Hack-A-Sat CTF比赛——模拟卫星视角beckley

    以下内容是通过阅读<Hack-A-Sat太空信息安全挑战赛深度解题>做的测试. 题目介绍 Fire up your Google Earth and brush up on your KM ...

  3. 普乐蛙VR太空宇宙vr星际飞船设备模拟太空飞船

    科技感十足!你有没有想过自己能够亲身体验到太空飞行的感觉?这一刻,梦想成真! 宇航员体验 VR科技让人类走进了未知领域,现在,你可以在舒适的空间内感受宇宙中的万千风景,体验宇航员的工作和生活.而这次V ...

  4. Vue中使用Echarts构建3D地球层+模拟时钟

    文章目录 前言 一.Echarts示例 二.使用步骤 1.引入库 2.完整代码 总结 前言   Echarts官网上的例子大多是原生js,那么我们在vue项目中该如何使用?本文举两个例子. 一.Ech ...

  5. 人类史上首个太空 AI 机器人,IBM 和空客如何两年开发了它?

    AI 已经成功进入太空! 作者 | 唐小引写于上海世博中心 出品 | CSDN(ID:CSDNnews) 「地球上有 77 亿人,但只有 6 个人在外太空生活.工作(注:国际空间站最多可承载 6 个人 ...

  6. 马斯克放的卫星被曝3%已成太空垃圾,占资源位置,最坏还能“锁死”地球人...

    郑集杨 晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 关于马斯克旗下SpaceX的"星链"(Starlink),令人担心的事情还是发生了. 之前轰轰烈烈一次次发射之 ...

  7. 计算机模拟光照,建筑太阳光照实时模拟软件

    建筑太阳光照实时模拟系统,楼房光照模拟软件本软件用于模拟全国各地不同时间的太阳光照真实情况.(修复部分电脑不显示阴影的bug) 建筑太阳光照实时模拟软件视角及移动控制 1.鼠标右键控制视角方向. 2. ...

  8. cesium 模拟地球自转

    cesium 模拟地球自转 cesium 现有的机制分析 默认情况下,cesium 的球体其实在三维中是保持静止的状态. 而随着时间的流逝,默认的背景星空,是在不断地旋转的. 这个逻辑,我们从 ces ...

  9. 用Universe Sandbox模拟引力弹弓(地球+木星)

    什么是引力弹弓 利用宇宙沙盒里面海量的模型来实现引力弹弓的模拟后,我屈服了,木星那玩意加速地球的效果也太不明显了.....所以用别人例子里的水委一和地球来模拟... 以下图片均为手动模拟后的截图 就是 ...

最新文章

  1. java 写一个商店_Java Web开发之基于Session的购物商店实现方法
  2. JAVA中this和super用法
  3. c语言使单片机输出低电平,单片机开发中的一些实用技巧
  4. Call Exec in PeopleCode
  5. sql 创建用户脚本
  6. linux自动更新漏洞,Linux爆本地提权漏洞 请立即更新udev程序
  7. kmplayer安卓版外部编码器_KMPlayer下载
  8. 深度解析copy与strong的区别
  9. 淘宝用户行为分析——用户画像
  10. 在PrimeFaces中更改主题
  11. 自制编译器:语法分析器(一)
  12. VUE项目SEO问题的解决
  13. 从给定的大图中切出指定矩形区域的小图
  14. 百度地图 实现指定区域外添加遮罩效果 适用全省市
  15. unet服务器向客户端发消息,unet 服务器客户端不同步
  16. 怎么得到tekla系统节点参数的名称
  17. Deep Belief Networks (DBNs)
  18. 记录工作中遇到的正则表达式
  19. 商业励志书籍的那些流行词
  20. HTML+CSS+JS网页设计期末课程大作业 --电影主题 网页规划与设计

热门文章

  1. 没有了老师,该如何学习?
  2. web 前端学习线路图
  3. linux ubuntu 命令行高亮
  4. matlab利用bar函数画不同颜色直方图
  5. 【Java入门杂记】【六】
  6. 工作态度-《精要主义》书中的精髓:我们如何践行精要主义,摆脱拥挤不堪的生活?
  7. OC中的常用数据类型
  8. 浅谈Android中MVP模式用于实际项目中的问题与优化
  9. win10安装notion enhancer详细步骤,notion目录悬浮功能设置
  10. python本地安装pip命令的终极教程