Exemple #1
0
 private void LateUpdate()
 {
     if (canPlayFireEffect)//发射
     {
         ColdDownTime = 0;
         ShotNum++;
         canPlayFireEffect = false;
         m_Audio.PlayOneShot(audioClips[Random.Range(1, audioClips.Length)]);//播放射出音效
         Arrow_Anim.GetComponent <Renderer>().enabled = false;
         Transform newArrow = Instantiate(Arrow_Prefab, Arrow_Anim.transform.position, this.transform.rotation);
         //newArrow.localScale = this.transform.localScale + Vector3.one * (Force - Force_Min) / (Force_Max - Force_Min);
         newArrow.GetComponent <Arrow>().m_Rigidbody.AddForce(this.transform.forward * Force);
         newArrow.name += ShotNum + "_" + Force.ToString("F2");
         Force          = Force_Min;
         BoresightTime  = 1f;
     }
     if (Holding)
     {
         if (!m_Audio.isPlaying)
         {
             m_Audio.PlayOneShot(audioClips[0]);//播放拉弦音效
         }
         Arrow_Anim.GetComponent <Renderer>().enabled = true;
     }
     if (canShowBoresight)
     {
         boresight.material.color = ColorAdjust.ColorAlphaChange(boresight.material.color, ValueAdjust.Lerp(boresight.material.color.a, 0.6f, Time.deltaTime, 5f));
     }
     else
     {
         boresight.material.color = ColorAdjust.ColorAlphaChange(boresight.material.color, ValueAdjust.Lerp(boresight.material.color.a, 0f, Time.deltaTime, 2f));
     }
 }
Exemple #2
0
 void Update()
 {
     if (SwitchColorTime > 0 && renderers.Count > 0)
     {
         time += direction * Time.deltaTime;
         if (time <= 0)//(renderers[0].material.color == color)
         {
             color2    = ColorAdjust.ConvertHsvToRgb(Random.Range(0, 360), Random.Range(0, 1f), 1);
             direction = 1;
         }
         else if (time >= SwitchColorTime)//(renderers[0].material.color == color2)
         {
             color     = ColorAdjust.ConvertHsvToRgb(Random.Range(0, 360), Random.Range(0, 1f), 1);
             direction = -1;
         }
         else
         {
             Color tempColor = Color.Lerp(color, color2, time / SwitchColorTime);
             for (int i = 0; i < renderers.Count; i++)
             {
                 if (renderers[i])
                 {
                     renderers[i].material.SetColor(ColorNameInShader, tempColor);
                 }
             }
         }
     }
 }
        public void TestFullRange()
        {
            var filter = new ColorAdjust
            {
                LimitedRange = false
            };

            Assert.AreEqual(0, filter.GetLowColor(8));
            Assert.AreEqual(0, filter.GetLowColor(10));

            foreach (var plane in new[] { YUVPlanes.PLANAR_Y, YUVPlanes.PLANAR_U, YUVPlanes.PLANAR_V })
            {
                Assert.AreEqual(255, filter.GetHighColor(8, plane));
                Assert.AreEqual(1023, filter.GetHighColor(10, plane));
            }
        }
        public static void DrawPathGizmo(CinemachineSmoothPathForCarDrift path, Color pathColor, bool isActive)
        {
            // Draw the path
            Color colorOld = Gizmos.color;

            Gizmos.color = pathColor;
            float   step      = 1f / path.m_Resolution;
            float   halfWidth = path.EvaluateWidth(path.MinPos);//path.m_Appearance.width * 0.5f;
            Vector3 lastPos   = path.EvaluatePosition(path.MinPos);
            Vector3 lastW     = (path.EvaluateOrientation(path.MinPos) * Vector3.right) * halfWidth;
            float   tEnd      = path.MaxPos + step / 2;

            for (float t = path.MinPos + step; t <= tEnd; t += step)
            {
                Vector3 p = path.EvaluatePosition(t);
                halfWidth = path.EvaluateWidth(t);
                if (!isActive || halfWidth == 0)
                {
                    Gizmos.DrawLine(p, lastPos);
                }
                else
                {
                    Quaternion q  = path.EvaluateOrientation(t);
                    Vector3    w  = (q * Vector3.right) * halfWidth;
                    Vector3    w2 = w * 1.2f;
                    Vector3    p0 = p - w2;
                    Vector3    p1 = p + w2;
                    Gizmos.color = ColorAdjust.ColorValueChange(pathColor, 0.5f);
                    Gizmos.DrawLine(p0, p1);
                    Gizmos.color = pathColor;
                    Gizmos.DrawLine(lastPos - lastW, p - w);
                    Gizmos.DrawLine(lastPos + lastW, p + w);
#if false
                    // Show the normals, for debugging
                    Gizmos.color = Color.red;
                    Vector3 y = (q * Vector3.up) * halfWidth;
                    Gizmos.DrawLine(p, p + y);
                    Gizmos.color = pathColor;
#endif
                    lastW = w;
                }

                lastPos = p;
            }
            Gizmos.color = colorOld;
        }
Exemple #5
0
 void Start()
 {
     color = ColorAdjust.ConvertHsvToRgb(Random.Range(0, 360), Random.Range(0, 1f), 1);
     if (renderers.Count < 1)
     {
         renderers.Add(this.GetComponent <Renderer>());
     }
     if (renderers.Count > 0)
     {
         for (int i = 0; i < renderers.Count; i++)
         {
             if (renderers[i])
             {
                 renderers[i].material.SetColor(ColorNameInShader, color);
             }
         }
     }
 }
        public void TestLimitedRange()
        {
            var filter = new ColorAdjust
            {
                LimitedRange = true
            };

            Assert.AreEqual(16, filter.GetLowColor(8));
            Assert.AreEqual(64, filter.GetLowColor(10));

            Assert.AreEqual(235, filter.GetHighColor(8, YUVPlanes.PLANAR_Y));
            Assert.AreEqual(940, filter.GetHighColor(10, YUVPlanes.PLANAR_Y));

            foreach (var plane in new[] { YUVPlanes.PLANAR_U, YUVPlanes.PLANAR_V })
            {
                Assert.AreEqual(240, filter.GetHighColor(8, plane));
                Assert.AreEqual(960, filter.GetHighColor(10, plane));
            }
        }
Exemple #7
0
 void Start()
 {
     Arrow_Anim.GetComponent <Renderer>().enabled = false;
     boresight.material.color = ColorAdjust.ColorAlphaChange(boresight.material.color, 0);
 }