Bootstrap

unity Mesh画虚线

通过Mesh画模型的过程中又是会用得到虚线,把自己用画虚线的方法记录一下

 

  /// <summary>
        /// 画虚线
        /// </summary>
        /// <param name="dottedLinePosList"></param>
        /// <returns></returns>
        public List<Vector3> DottedLine(List<Vector3> dottedLinePosList)
        {
            List<Vector3> dottedList = new List<Vector3>();
            float dottedLineLength = 15;
            float dotGap = 10;
            for (int i = 0; i < dottedLinePosList.Count; i += 2)
            {
                float length = Vector3.Distance(dottedLinePosList[i], dottedLinePosList[i + 1]);

                var dir = (dottedLinePosList[i + 1] - dottedLinePosList[i]).normalized;
                dottedList.Add(dottedLinePosList[i]);
                for (float j = 0; j < length;)
                {
                    j += dottedLineLength;
                    dottedList.Add(dottedLinePosList[i] + dir * j);
                    j += dotGap;
                    if (j < length)
                    {
                        dottedList.Add(dottedLinePosList[i] + dir * j);
                    }
                }
            }

            if (dottedList.Count % 2 != 0)
            {
                dottedList.Add(dottedList[dottedList.Count - 1]);
            }
            return dottedList;
        }

;