Unity/Csharp/線/LineRenderer

提供: 初心者エンジニアの簡易メモ
ナビゲーションに移動 検索に移動

線をscriptで書く

Canvasに Effects/Line 追加

GameObject obj = GameObject.Find ("/Canvas/Line");
LineRenderer renderer = obj.GetComponent<LineRenderer>();
renderer.SetWidth(10f, 10f); // 幅
renderer.SetVertexCount(3); // x点間
renderer.SetPosition(0, Vector3.zero);
renderer.SetPosition(1, new Vector3(-100f, -100f, 0f)); // 0から左下へ
renderer.SetPosition(2, new Vector3(-300f, -200f, 0f)); // 0から左下へ

以下を20とかにすれば、20点の折れ線グラフなどもこのオブジェクト1つで可能。

renderer.SetVertexCount(20);

LineRendererのMaterialがnullだと紫色になるので、Default~をMaterialに入れておく

線の太さをinspectorで

widthのところを左右で操作して、変更できる。

https://tsubakit1.hateblo.jp/entry/2019/02/07/231608

線を丸く

LineRendererのCornerVerticesを0から1にするとよい。

線がcanvasのimageより後になる場合

CanvasのRenderModeが、SceneSpace-Overlayになってないか確認。RenderModeをWorldSpaceにすると、imageより手前に来る。

あとは、CanvasのOrderInLayerを-1とかにする。

線の色変更

青に

LineRenderer lineRenderer = obj.GetComponent<LineRenderer>();
Color lineColor = Color.blue;
lineRenderer.SetColors(lineColor, lineColor);