Unity3D时钟与钟表小组件如何使用

本文讲解"Unity3D时钟与钟表小组件怎么使用",希望能够解决相关问题。

效果:

Unity3D时钟与钟表小组件如何使用

实现

1、场景搭建

使用Cylinder搭建一个时钟面,然后使用TextMesh设置小时数,最后使用长短不一的Cube做成时针、分针、秒针。

在这里需要说明的第一点是,需要将时针、分针、秒针拖到对应的父物体下,做成预制体,因为代码是使用Quaternion.AngleAxis函数进行绕轴旋转,所以直接旋转针的话,就变成自转了,所以需要旋转它的父物体,这样子物体就跟着转了,将父物体的坐标设置为0,0,0,那么子物体就是以中心点旋转了。

搭建后如下图所示:

Unity3D时钟与钟表小组件如何使用

2代码实现

using System;
using UnityEngine;

public class Clock : MonoBehaviour
{
    private GameObject HourHands;//时针
    private GameObject MinuteHand;//分针
    private GameObject SecondHand;//秒针

    void Start()
    {
        HourHands = GameObject.Find("时钟/时针");
        MinuteHand = GameObject.Find("时钟/分针");
        SecondHand = GameObject.Find("时钟/秒针");
    }

    void Update()
    {
        TimeSpan time = DateTime.Now.TimeOfDay;
        HourHands.transform.localRotation = Quaternion.AngleAxis(30 * time.Hours, Vector3.up);
        MinuteHand.transform.localRotation = Quaternion.AngleAxis(6 * time.Minutes, Vector3.up);
        SecondHand.transform.localRotation= Quaternion.AngleAxis(6 * time.Seconds, Vector3.up);
    }
}

关于 "Unity3D时钟与钟表小组件怎么使用" 就介绍到此。希望多多支持编程宝库

Android通知栏增加快捷开关功能如何实现:本文讲解"Android通知栏增加快捷开关功能怎么实现",希望能够解决相关问题。TileService继承自Service,所以它也是Android的四大组件之一,不过它是一个特殊的组件,开发者 ...