Unity3D之通过旋钮控制灯光

这篇博客介绍了如何在Unity3D中通过简单的控制方式模拟灯光切换效果,实际操作是通过开启和关闭带灯光物体的渲染。文章提到了正确的方法应该是切换物体的Material,并详细解释了用于实现这一功能的代码,特别是物体旋转角度的处理,因为通常需要处理超过期望角度的情况。
摘要由CSDN通过智能技术生成

前言

       实际上使用的是非常简单的方式,通过开启以及关闭带有灯光效果物体的渲染以模拟出的灯光切换效果。

       正确方式应当为物体切换不同的Material实现效果。

 

所用函数

    public void RotateAround(Vector3 point, Vector3 axis, float angle);
        //通过给定一个世界坐标、轴向以及一个角度,使物体以该角度旋转绕世界坐标点的轴向的变换
    
    public T GetComponent<T>();
        //获取对象的组件

    public bool enabled { get; set; }
        //设置激活状态

 

实现代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RotateControl : MonoBehaviour {

    public GameObject RedLight;//红灯
    public GameObject GreenLight;//绿灯
    public GameObject Center;//旋转中心,若为自身则指定自身

    private bool isOn = false;//正在开启
    private bool isOff = false;//正在关闭
    [Range(0,180)]
    public float onLine = 80;//旋钮最大角度
    [Range(0,180)]
    private float offLine = 0;//旋钮最小角度
    [Range(0,3)]
    pu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值