using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.PlayerLoop;
public class ChangeShaders : MonoBehaviour
{
private int val;
// Start is called before the first frame update
void Start()
{
//StartCoroutine(EffectSliderChanger());
}
private void Update()
{
gameObject.GetComponent<Renderer>().material.SetFloat("Effect Slider", val);
Mathf.Lerp(-1, 1, Time.deltaTime);
}
/*IEnumerator EffectSliderChanger()
{
gameObject.GetComponent<Renderer>().material.SetFloat("Effect Slider", 1);
}*/
}
我想把效果值在-1和1之间,不停地从-1变成1,当它变成1时,又变成-1,以此类推。
我不确定怎么做,是使用StartCoroutine还是在更新中做。
试试这个(我没有测试过,但应该能用):
public class ChangeShaders : MonoBehaviour
{
private float fromValue = -1f;
private float toValue = 1f;
private float timeStep = 0f;
private float val = 0f;
private void Update()
{
gameObject.GetComponent<Renderer>().material.SetFloat("Effect Slider", val);
val = Mathf.Lerp(fromValue, toValue, timeStep);
timeStep += Time.deltaTime;
// If you want the values to go back and forth faster use the line below instead
// timeStep += 0.2f + Time.deltaTime;
if (timeStep >= 1f) {
float tempVal = fromValue;
toValue = fromValue;
fromValue = tempVal;
timeStep = 0f;
}
}
}
您可以使用mathf.pingpong
执行此操作
Material material;
// Adjust via Inspector
public float duration = 1;
private void Awake()
{
material = GetComponent<Renderer>().material;
}
void Update()
{
var currentValue = Mathf.Lerp(-1 , 1, Mathf.PingPong(Time.time / duration, 1));
material.SetFloat("Effect Slider", currentValue);
}
或者,您也可以简单地移动范围,如
这将在-1
和1
之间移动,使用pingpon
的结果作为插值因子,在给定的持续时间内在0
和1
之间移动。
或者,您也可以直接移动pingpong
的范围
var currentValue = Mathf.PingPong(Time.time / duration, 2) - 1f;
问题内容: 在Swift中,我试图获得0到1之间的随机浮点数,但是我似乎无法使类型转换正常工作。 我收到“ CGFloat”无法转换为“ UInt8”错误 运行Xcode 6。 问题答案: 尝试将除数也初始化为浮点数la:
我想在我的应用程序中应用不同的主题。我想更改导航栏和浮动操作按钮的颜色。 现在我可以更改导航栏的颜色,但浮动操作按钮的颜色没有变化。当主题更改时,如何动态更改工厂的颜色? 风格: 绝妙的: 晶圆厂选择器: 谢谢你...
我猜这个问题的另一种表述方式是,你可以用一个只在0到1之间的
我创建了一个Jframe,它由Jbutton(Ok)、Jbutton(cancel)、Jtextfield和一个Jtable组成。我想当按下OK按钮时,焦点变为Jtextfield,当按下增益按钮时,焦点变为JTable。 如何在组件之间更改焦点? 这就是我尝试过的: 它只关注JTextfield,但不会将焦点更改为JTable 编辑:我也试过: 但没有奏效 这是整个代码:
嗨,我已经尝试了一些方法来有意地在活动之间移动浮动值,但它对我不起作用,因为值会重新启动。 我的代码: 第一项活动: 第二项活动: 浮点值始终为0,并且应用程序在“第二个活动”的第二行有编译错误。 感谢帮手们!
参考Google发布的新,如何更改浮动标签文本颜色? 在样式中设置、、没有帮助 这就是我现在拥有的:
所以问题是当用户关闭WiFi按钮时,移动数据仍然连接,但我仍然收到WiFi关闭的通知。它指示我网络断开,即使我的手机仍然连接到移动数据。 但一秒钟后,我收到移动数据连接的通知。但是一旦我收到网络断开,我已经关闭了我的VoIP呼叫。因此,当我收到WiFi关闭的通知时,我如何确定移动数据是否仍然连接。 我尝试了getActiveNetworkInfo(),但当我收到WiFi关闭的通知时,它碰巧为nul
问题内容: 我是Redis的新手,但我不知道如何创建和更改到另一个Redis数据库。 我该怎么做呢? 问题答案: 默认情况下,有16个数据库(索引从0到15),您可以使用select命令在它们之间导航。可以通过设置在redis配置文件中更改数据库数量。 默认情况下,它选择数据库。要选择一个指定的,使用 (选择数据库2)