1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[MR Dev Tips #13] Unity Line Renderer を使って引いた線を加工する

Last updated at Posted at 2023-08-29

Unity の Line Renderer を使用して、線を引く方法について紹介します。

Line Renderer とは

Line Renderer コンポーネントは、3D空間の2つ以上の点 (Vector3) の配列を保持して、各点の間に直線を描きます。1つの Line Renderer を使用して、シンプルな直線から複雑な螺旋まで、どんなものでも描画することができます。線 (Line) は、必ず連続した状態になっています。1つの Line Renderer で描画できるのは一本の線なので、2本以上の線を描画したい場合は、複数のゲームオブジェクトを用意して、それぞれに Line Renderer を適用する必要があります。

Line Renderer の使い方

Unity メニューバーで GameObject > Effects > Line を選択します。

image.png

ヒエラルキービューに、Line (GameObject) が追加されます。ゲームオブジェクトには、Line Renderer コンポーネントがアタッチされています。

image.png

Line Renderer コンポーネントを追加することで、簡単に線を追加することができます。

Line Renderer のプロパティについて

Line Renderer コンポーネントの Inspector を見ていきたいと思います。

image.png

プロパティ名 説明
Simplify Preview Simplify Preview を有効にすると、Simplify を実行した際の線のプレビューを表示することができます。
Tolerance Simplify を実行する際に、元の線から逸脱できる度合いを設定します。値が 0 に設定されている場合、偏差は発生しないため、単純化 (Simplify) はほとんど、または全く行われません。正の値が大きいほど、元の線からの偏差が大きくなり、より簡略化されます。
Loop Loop を有効にすると、最初と最後の点を繋ぎ、閉じたループを作成します。
Positions 線の元となる点 (Vector3) の配列を設定します。
Size Positions の配列の大きさ、点の数
Width 線の幅とカーブの値によって、線の様々な位置での線の幅を制御します。カーブは各頂点でサンプリングされるので、正確に再現されるかどうかは頂点数に左右されます。

Simplify でラインを簡略化する

Simplify の挙動を確認してみたいと思います。以下の図は、フリーハンドで書いた線です。

image.png

Simplify Preview が有効になっていないので、プレビューの線は表示されていません。Inspector から Simplify Preview のチェックボックスにチェックを入れてみます。

image.png

黄色いプレビューの線が表示されました。ただ、Tolerance が 0 のため、フリーハンドで書いた線のままです。

image.png

ここで、Tolerance を 0.3 に設定してみます。さきほどのプレビューと比べて、随分と簡略されました。このプレビューを実際の線に反映して、Positions の配列を更新するには、Tolerance の横にある Simplify ボタンを押します。

image.png

image.png

実際に Simplify を実行すると、Positions 配列の数が減り、フリーハンドで書いた線が簡略化されました。

image.png

ラインの幅を変更する

ラインの幅の変更は Width プロパティのカーブを使って行うことができます。初期設定では、0.100 に設定されています。

image.png

カーブを使って、ライン全体の幅を少しずつ太くしてみると、以下のような線の形に変わりました。

image.png

ラインのカラーにグラデーションを設定する

ラインの色は、Color プロパティから Gradient Editor を開き、設定することができます。例えば、始点を黒、終点を白とするグラデーションを設定した場合は、このような表示になります。

image.png

上記設定を適用した後のラインは、以下のような色合いになります。

image.png

ラインの始点と終点に丸みをつける

ラインの始点と終点に丸みをつけるには、End Cap Vertices を設定します。End Cap Vertices は、線にエンドキャップを描画する際の、追加の頂点をいくつ使用するかを制御します。この値を増やすと、線のキャップがより丸く表示されます。

End Cap Vertices が 0 の場合

image.png

image.png

End Cap Vertices が 5 の場合

image.png

image.png

End Cap Vertices が 20 の場合

image.png

image.png

以上、簡略化、線の幅、色の変更を試してみました!

Refs

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?