// Update is called once per frame void Update() { float h, s, v; var mat = sphereMesh.sharedMaterial; Color.RGBToHSV(mat.GetColor("_EmissionColor"), out h, out s, out v); var val = Beat.Sine(0.30f, 0.25f); mat.SetColor("_EmissionColor", Color.HSVToRGB(h, s, val)); }
void DopeBeat() { var dilate = Beat.Sine(0.05f, 0.15f); timeText.fontSharedMaterial.SetFloat("_FaceDilate", dilate); // なぜZに1たさないといけないかはよくわからん // Screen Space - CameraでCanvasを描画するようにしたら必要になった var posDiff = new Vector3(0, Beat.Sine(0, 0.10f), 1); timeText.transform.position = timeTextInitialPosition + posDiff; instructionText.transform.position = instructionTextInitialPosition + new Vector3(0, 0, 1); instructionText.fontSize = instructionTextInitialSize + Beat.Sine(0, 2); }
public async Task ShowLevelUp(float duration) { levelUpText.gameObject.SetActive(true); // 位置振動させるか var initialPos = levelUpText.transform.position; var start = Time.time; while (true) { var progress = (Time.time - start) / duration; levelUpText.transform.position = initialPos + new Vector3(0, Beat.Sine(0, 0.2f), 1); if (progress >= 1) { break; } await new WaitForEndOfFrame(); } levelUpText.gameObject.SetActive(false); levelUpText.transform.position = initialPos; }