unity繪製一條流動的弧線(貝塞爾線)

2022-09-26 02:18:10 字數 1272 閱讀 9146

最終效果

把下面指令碼複製,直接拖上指令碼,設定兩個點(物體)的位置

gameobject1是開始點的位置,gameobject2是結束點的位置

public transform controlpoints;

public lineredtvnynderer linerenderer;

public float centerpoint =0.1f;

private int layerorder = 0;

/dtvny/生成弧線中間的點數

private int _segmentnum = 20;

//偏移

float m_offset;

float m_speed = 0.5f;

void start()

linerenderer.sortinglayerid = layerorder;

//呼叫畫貝斯爾線

getbeizerlist(controlpoints[0].position, (controlpoints[0].position + controlpoints[1].position) * 0.5f + new vector3(0, centerpoint, 0), controlpoints[1].transform.position, _segmentnum);

}private void update()

///

/// 根據t值,計算貝塞爾曲線上面相對應的點

///

/// t值

/// 起始點

/// 控制點

/// 目標點

/// 根據t值計算出來的貝賽爾曲線點

private static vector3 calculatecubicbezierpoint(float t, vector3 p0, vector3 p1, vector3 p2)

///

/// 獲取儲存貝塞爾曲線點的陣列

///

/// dtvnyname="s程式設計客棧tartpoint">起始點

/// 控制點

/// 目標點

/// 取樣點的數量

/// 儲存貝塞爾曲線點的陣列

public vector3 getbeizerlist(vector3 startpoint, vector3 controlpoint, vector3 endpoint, int segmentnum)

return path;

}本文標題: unity繪製一條流動的弧線(貝塞爾線)

本文位址:

172 手動SVG繪製一條曲線

我發現我所有的svg使用量中有98 來自預先設計為最終匯出為svg的某些設計軟體中的svg檔案或向量藝術。我不是經常手動操作svg 中事物的座標。嘿,我什至有一本書 但是偶爾,這是適當的,甚至可能有點有趣。在這種情況下,我想畫一條非常具體的線,並在其中進行一些柔和的轉彎。在對svg的路徑語法 最奇怪...

查詢資料的上一條和下一條

查詢當前資料的下一條 select from 表 where id 當前資料的id order by id asc limit1 查詢當前資料的上一條 select from 表 where id 當前資料的id order by id asc limit 1 查詢當前資料的下一條 select f...

貝塞爾曲線生成工具 如何自製一條貝塞爾曲線(有碼)

如果在工作時間摸魚 咳咳 為啥畫個曲線還有公式,還要寫 在各位使用各種編輯軟體的時候,其實到處都有貝塞爾曲線的影子。photoshop ae flash,除了鋼筆工具,還有調色曲線 運動曲線等等,有些是畫在畫布上的曲線,有些則影響了 度 亮度 運動速度等等,這類曲線最大的特點是可以通過拖動幾個控制點...