Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将昼夜循环链接到时钟_C#_Unity3d - Fatal编程技术网

C# 将昼夜循环链接到时钟

C# 将昼夜循环链接到时钟,c#,unity3d,C#,Unity3d,正如标题所示,我试图将我的昼夜循环与我的时钟联系起来。目前该周期正常,但与我的时钟不匹配。与其试图找到完美的旋转速度值,我更愿意让它自动化,这样我也可以跳过时间等,让循环匹配它。目前我有: 私人常数浮动日(以秒为单位)=10f; 私人浮动日; 公共游戏对象日夜循环; 公共游戏对象界面; 公共游戏对象时钟; 私有化霍尔汉德; 私有变换分针; 无效唤醒() { hourHand=Clock.transform.Find(“hourHand”); minuteHand=Clock.transform

正如标题所示,我试图将我的昼夜循环与我的时钟联系起来。目前该周期正常,但与我的时钟不匹配。与其试图找到完美的旋转速度值,我更愿意让它自动化,这样我也可以跳过时间等,让循环匹配它。目前我有:


私人常数浮动日(以秒为单位)=10f;
私人浮动日;
公共游戏对象日夜循环;
公共游戏对象界面;
公共游戏对象时钟;
私有化霍尔汉德;
私有变换分针;
无效唤醒()
{
hourHand=Clock.transform.Find(“hourHand”);
minuteHand=Clock.transform.Find(“minuteHand”);
}
私有void updatelock()
{
day+=Time.deltaTime/天(以秒为单位);
//将日期规格化,以始终给出介于0和1之间的值。
浮动日标准化=第%1f天;
浮动日旋转=360f;
hourHand.eulerAngles=新矢量3(0,0,-day标准化*day旋转);
浮动日小时=12f;
minuteHand.eulerAngles=新矢量3(0,0,-天标准化*天旋转*天小时);
DayNightCycle.transform.RotateAround(Vector3.zero,Vector3.back,**SMTH HERE**);
DayNightCycle.transform.LookAt(Vector3.zero);
}
正如我现在所拥有的,时钟工作得很好,每天旋转2倍(正如我所希望的),我想要的是日夜循环根据一天中的时间旋转。我该怎么办?我尝试过很多方法,甚至使用DayNightCycle.transform.EulerAngles,但这并不能使它旋转。

我会:

float dayInseconds = dayHours * 60 * 60; // day duration to seconds. 43200 sec for 12 h in your example
那么你的角度是:

float angle = (360 * day) / dayInseconds;

对于半天(6h=21600秒)的情况,你达到(360*21600)/(12*60*60)=180º

你需要在这里提供旋转角度**@rustyBucketBay是的,我知道,但我的问题是我在那里放了什么。我试过很多方法,但是Idk我应该有什么公式/值。好的,我不理解这个问题。我想我现在知道了。检查答案嘿@rustyBucketBay谢谢你的回复,我最终找到了答案,并将其修改为与eulerAngles一致。最后是这样做的:
daynghtCycle.transform.eulerAngles=newVector3((-dayNormalized*dayRotation),90,0)你的方式可能也行得通,但最终还是这样做了,因为我自己也明白了这一点,并且对此感到有些高兴/自豪)很好!很高兴你发现了;)