Project1

标题: 拟合了一条不错的day-night cycle天色变化曲线 [打印本页]

作者: Mr.Jin    时间: 2020-5-24 20:18
标题: 拟合了一条不错的day-night cycle天色变化曲线

以一天24小时,每小时60分钟计算,x为:
RUBY 代码复制
  1. x = 小时数 + (分钟数 / 60.0)


按照下面的曲线就可以得到当前的画面色调了
RUBY 代码复制
  1. r = Math.sin((x - 7.5) * 0.260) * 0.5 + 0.5
  2. g = Math.sin((x - 6.0) * 0.25) * 0.5 + 0.5
  3. b = Math.sin((x - 5.0) * 0.25) * 0.45 + 0.55
  4. max = 128
  5. Tone.new(r * max - max, g * max - max, b * max - max, 0)


※在夜间向晨间过渡时会有一点青蓝色,从午间向晚间过渡时会呈现橙红色;整个夜间都是偏蓝的。

适合要做一些带有时间流逝、昼夜变化的人来使用。

作者: Im剑侠客    时间: 2020-5-24 22:16
晨间过渡是青蓝色的不知道是什么原理?现实场景看不太明显,但是摄影机拍摄的画面确确实实有一段青蓝色的过渡区间。
作者: guoxiaomi    时间: 2020-5-25 04:15
我直接抱走,脚本(or致谢)里挂这个帖子的链接声明一下就可以么
作者: chd114    时间: 2020-5-27 00:25
这个代码再加上改色调的指令,然后并行处理,就能每分钟切换色调了,对吧?
但如果是特殊的世界呢?(比如色调变化并不按现实世界来的时候,现实世界从黄昏到夜晚色调会从黄到蓝到黑,但是某个诡异的世界可能就是从黄到绿再到深绿)
以及这个曲线你是怎么算出来的?(我记得好像是有个函数可以代入计算得出来,但是我并不是数学系专业所以并不清楚是什么函数)
如果方便的话,可以把计算的过程也发出来吗?
如果再深入可以结合一下天气系统,这个时候雨天/下雪天/台风/雷暴/冬至/夏至等不同情况这条曲线会需要再调整···
作者: chd114    时间: 2020-5-30 02:27
我找了个机会用va试了一下
早上9点还是大黑天,傍晚是正常的···是我哪里没弄对吗?感觉白天的时间好像太短了(或者说是早上看上去和后半夜差别不大)
  1. x = 10 + (25 / 60.0)
  2. r = Math.sin((x - 7.5) * 0.260) * 0.5 + 0.5
  3. g = Math.sin((x - 6.0) * 0.25) * 0.5 + 0.5
  4. b = Math.sin((x - 5.0) * 0.25) * 0.45 + 0.55
  5. m = 128
  6. t=Tone.new(r*m-m,g*m-m,b*m-m,0)
  7. $game_map.screen.start_tone_change(t,30)
复制代码

作者: Mr.Jin    时间: 2020-5-30 10:21
chd114 发表于 2020-5-30 02:27
我找了个机会用va试了一下
早上9点还是大黑天,傍晚是正常的···是我哪里没弄对吗?感觉白天的时间好像太 ...

我实验了一下,并没有出现早上9点还是大黑天的情况




作者: chd114    时间: 2020-5-31 22:33
Mr.Jin 发表于 2020-5-30 10:21
我实验了一下,并没有出现早上9点还是大黑天的情况

天黑的原因找到了···我这里按照你的函数输出tone里面的rgb值都是负数
你可以把你那边的tone输出一下吗?
作者: Mr.Jin    时间: 2020-6-1 09:05
chd114 发表于 2020-5-31 22:33
天黑的原因找到了···我这里按照你的函数输出tone里面的rgb值都是负数
你可以把你那边的tone输出一下吗 ...


其实本来就是负数啊,这个tone只管暗,不管加亮的。加亮的话就会变得看不清,也不符合现实效果
作者: chd114    时间: 2020-6-1 19:32
Mr.Jin 发表于 2020-6-1 09:05
其实本来就是负数啊,这个tone只管暗,不管加亮的。加亮的话就会变得看不清,也不符合现实效果 ...

对比完以后我找到原因了···默认画面色调RGB是0,0,0,我测试的时候是从0,0,0手动开的切换,·而你的色调曲线RGB基本都是负的,所以不管怎么变,除了早上10点以后到下午,其他时间都没有默认的0,0,0看上去亮(这就导致看上去是没天亮一样···)




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1