private void Update() { rend.GetPropertyBlock(props); var time = Time.time - startTime; if (canUpdate) { var eval = Color.Evaluate(time / TimeMultiplier); if (HUE > -0.9f) { eval = AE_ColorHelper.ConvertRGBColorByHUE(eval, HUE); startColor = AE_ColorHelper.ConvertRGBColorByHUE(startColor, HUE); } props.SetColor(propertyID, eval * startColor); } if (time >= TimeMultiplier) { if (IsLoop) { startTime = Time.time; } else { canUpdate = false; } } rend.SetPropertyBlock(props); }
private void UpdateColor(AE_EffectAnimatorProperty effect) { var settingColor = effect.CurrentInstance.GetComponent <AE_EffectSettingColor>(); if (settingColor == null) { settingColor = effect.CurrentInstance.AddComponent <AE_EffectSettingColor>(); } var hsv = AE_ColorHelper.ColorToHSV(settingColor.Color); hsv.H = HUE; settingColor.Color = AE_ColorHelper.HSVToColor(hsv); }
private void UpdateColor() { var hue = AE_ColorHelper.ColorToHSV(Color).H; AE_ColorHelper.ChangeObjectColorByHUE(gameObject, hue); var physicsMotion = GetComponentInChildren <AE_PhysicsMotion>(true); if (physicsMotion != null) { physicsMotion.HUE = hue; } previousColor = Color; }
void OnCollisionEnter(Collision collision) { if (isCollided && !UseCollisionDetect) { return; } foreach (ContactPoint contact in collision.contacts) { if (!isCollided) { isCollided = true; //offsetColliderPoint = contact.otherCollider.transform.position - contact.point; // lastCollider = contact.otherCollider; // lastContactPoint = contact; if (UseTargetPositionAfterCollision) { if (targetAnchor != null) { Destroy(targetAnchor); } targetAnchor = new GameObject(); targetAnchor.hideFlags = HideFlags.HideAndDontSave; targetAnchor.transform.parent = contact.otherCollider.transform; targetAnchor.transform.position = contact.point; targetAnchor.transform.rotation = transform.rotation; //targetAnchor.transform.LookAt(contact.normal); } } var handler = CollisionEnter; if (handler != null) { handler(this, new AE_CollisionInfo { ContactPoint = contact }); } if (EffectOnCollision != null) { var instance = Instantiate(EffectOnCollision, contact.point, new Quaternion()) as GameObject; if (HUE > -0.9f) { var color = instance.AddComponent <AE_EffectSettingColor>(); var hsv = AE_ColorHelper.ColorToHSV(color.Color); hsv.H = HUE; color.Color = AE_ColorHelper.HSVToColor(hsv); } if (LookAtNormal) { instance.transform.LookAt(contact.point + contact.normal); } else { instance.transform.rotation = transform.rotation; } if (!CollisionEffectInWorldSpace) { instance.transform.parent = contact.otherCollider.transform.parent; } Destroy(instance, CollisionEffectDestroyAfter); } } foreach (var obj in DeactivateObjectsAfterCollision) { if (obj != null) { var ps = obj.GetComponent <ParticleSystem>(); if (ps != null) { ps.Stop(); } else { obj.SetActive(false); } } } if (rigid != null) { Destroy(rigid); } if (collid != null) { Destroy(collid); } }
private void OnGUI() { if (Input.GetKeyUp(KeyCode.LeftArrow) || Input.GetKeyUp(KeyCode.RightArrow) || Input.GetKeyUp(KeyCode.DownArrow)) { isButtonPressed = false; } if (GUI.Button(new Rect(10 * dpiScale, 15 * dpiScale, 135 * dpiScale, 37 * dpiScale), "PREVIOUS EFFECT") || (!isButtonPressed && Input.GetKeyDown(KeyCode.LeftArrow))) { isButtonPressed = true; ChangeCurrent(-1); } if (GUI.Button(new Rect(160 * dpiScale, 15 * dpiScale, 135 * dpiScale, 37 * dpiScale), "NEXT EFFECT") || (!isButtonPressed && Input.GetKeyDown(KeyCode.RightArrow))) { isButtonPressed = true; ChangeCurrent(+1); } var offset = 0f; //if (UseMobileVersion) //{ // offset += 50 * dpiScale; // if (GUI.Button(new Rect(10*dpiScale, 63 * dpiScale, 285*dpiScale, 37*dpiScale), "ON / OFF REALISTIC BLOOM") || // (!isButtonPressed && Input.GetKeyDown(KeyCode.DownArrow))) // { // isUsedMobileBloom = !isUsedMobileBloom; // RFX1_DistortionAndBloom.UseBloom = isUsedMobileBloom; // } // if(!isUsedMobileBloom) guiStyleHeaderMobile.normal.textColor = new Color(0.8f, 0.2f, 0.2f); // else guiStyleHeaderMobile.normal.textColor = new Color(0.1f, 0.6f, 0.1f); // GUI.Label(new Rect(400 * dpiScale, 15 * dpiScale, 100 * dpiScale, 20 * dpiScale), "Bloom is "+ (isUsedMobileBloom?"Enabled":"Disabled"), guiStyleHeaderMobile); //} if (GUI.Button(new Rect(10 * dpiScale, 63 * dpiScale + offset, 285 * dpiScale, 37 * dpiScale), "Day / Night") || (!isButtonPressed && Input.GetKeyDown(KeyCode.DownArrow))) { ChangeLight(); } GUI.Label(new Rect(400 * dpiScale, 15 * dpiScale + offset / 2, 100 * dpiScale, 20 * dpiScale), "Effect " + currentNomber + "\" \r\nHold any mouse button that would move the camera", guiStyleHeader); GUI.DrawTexture(new Rect(12 * dpiScale, 140 * dpiScale + offset, 285 * dpiScale, 15 * dpiScale), HUETexture, ScaleMode.StretchToFill, false, 0); float oldColorHUE = colorHUE; colorHUE = GUI.HorizontalSlider(new Rect(12 * dpiScale, 147 * dpiScale + offset, 285 * dpiScale, 15 * dpiScale), colorHUE, 0, 360); if (Mathf.Abs(oldColorHUE - colorHUE) > 0.001) { AE_ColorHelper.ChangeObjectColorByHUE(currentInstance, colorHUE / 360f); //var transformMotion = currentInstance.GetComponentInChildren<AE_TransformMotion>(true); //if (transformMotion != null) //{ // transformMotion.HUE = colorHUE / 360f; // foreach (var collidedInstance in transformMotion.CollidedInstances) // { // if (collidedInstance != null) AE_ColorHelper.ChangeObjectColorByHUE(collidedInstance, colorHUE / 360f); // } //} var animator = currentInstance.GetComponent <AE_AnimatorEvents>(); if (animator != null) { animator.HUE = colorHUE / 360f; if (animator.Effect1.CurrentInstance != null) { AE_ColorHelper.ChangeObjectColorByHUE(animator.Effect1.CurrentInstance, colorHUE / 360f); } if (animator.Effect2.CurrentInstance != null) { AE_ColorHelper.ChangeObjectColorByHUE(animator.Effect2.CurrentInstance, colorHUE / 360f); } if (animator.Effect3.CurrentInstance != null) { AE_ColorHelper.ChangeObjectColorByHUE(animator.Effect3.CurrentInstance, colorHUE / 360f); } if (animator.Effect4.CurrentInstance != null) { AE_ColorHelper.ChangeObjectColorByHUE(animator.Effect4.CurrentInstance, colorHUE / 360f); } } if (UseMobileVersion) { //var settingColor = currentInstance.GetComponent<AE_EffectSettingColor>(); //if (settingColor == null) settingColor = currentInstance.AddComponent<AE_EffectSettingColor>(); //var hsv = AE_ColorHelper.ColorToHSV(settingColor.Color); //hsv.H = colorHUE / 360f; //settingColor.Color = AE_ColorHelper.HSVToColor(hsv); } } }