AppendXY() public static method

3次元ベクトルのXYを加算する
public static AppendXY ( Vector3 original, Vector2 addition ) : Vector3
original UnityEngine.Vector3
addition UnityEngine.Vector2
return UnityEngine.Vector3
 /// <summary>
 /// 頂点座標の一括更新
 /// </summary>
 /// <param name="isDirty"></param>
 private void UpdatePositions(bool isDirty = true)
 {
     UpdatePosition(0, position_);
     UpdatePosition(1, Utility.AppendY(position_, size_));
     UpdatePosition(2, Utility.AppendXY(position_, size_));
     UpdatePosition(3, Utility.AppendX(position_, size_));
     if (isDirty)
     {
         SetVerticesDirty();
     }
 }
        /// <summary>
        /// 頂点変換
        /// </summary>
        /// <param name="leftTop"></param>
        /// <param name="rightTop"></param>
        /// <param name="leftBottom"></param>
        /// <param name="rightBottom"></param>
        public void TransformVertices(Vector2 leftTop, Vector2 rightTop, Vector2 leftBottom, Vector2 rightBottom)
        {
            // テクスチャのひずみを減らすために4ポリゴンで
            Vector3 v0 = Utility.AppendXY(position_, leftBottom);
            Vector3 v1 = Utility.AppendXY(Utility.AppendY(position_, size_), leftTop);
            Vector3 v2 = Utility.AppendXY(Utility.AppendXY(position_, size_), rightTop);
            Vector3 v3 = Utility.AppendXY(Utility.AppendX(position_, size_), rightBottom);
            Vector3 v4 = new Vector3((v1.x + v2.x) * 0.5f, (v1.y + v2.y) * 0.5f, v1.z);
            Vector3 v5 = new Vector3((v1.x + v0.x) * 0.5f, (v1.y + v0.y) * 0.5f, v1.z);
            Vector3 v7 = new Vector3((v2.x + v3.x) * 0.5f, (v2.y + v3.y) * 0.5f, v1.z);
            Vector3 v8 = new Vector3((v0.x + v3.x) * 0.5f, (v0.y + v3.y) * 0.5f, v1.z);
            Vector3 v6 = new Vector3((v4.x + v8.x) * 0.5f, (v5.y + v7.y) * 0.5f, v1.z);

            // v1 v4 v2
            // v5 v6 v7
            // v0 v8 v3

            if (vertices_.Count == 4)
            {
                for (int i = 0; i < 3 * 4; ++i)
                {
                    vertices_.Add(UIVertex.simpleVert);
                }
            }
            // 左下
            UpdatePosition(0, v0);
            UpdatePosition(1, v5);
            UpdatePosition(2, v6);
            UpdatePosition(3, v8);
            // 左上
            UpdatePosition(4, v5);
            UpdatePosition(5, v1);
            UpdatePosition(6, v4);
            UpdatePosition(7, v6);
            // 右上
            UpdatePosition(8, v6);
            UpdatePosition(9, v4);
            UpdatePosition(10, v2);
            UpdatePosition(11, v7);
            // 右下
            UpdatePosition(12, v8);
            UpdatePosition(13, v6);
            UpdatePosition(14, v7);
            UpdatePosition(15, v3);

            UpdateTextureCoords();

            //UpdatePosition( 0, Utility.AppendXY( position_, leftBottom ) );
            //UpdatePosition( 1, Utility.AppendXY( Utility.AppendY( position_, size_ ), leftTop ) );
            //UpdatePosition( 2, Utility.AppendXY( Utility.AppendXY( position_, size_ ), rightTop ) );
            //UpdatePosition( 3, Utility.AppendXY( Utility.AppendX( position_, size_ ), rightBottom ) );
            //SetVerticesDirty();
        }