税込429円この広告は、90日以上更新していないブログに表示しています。いや、お久しぶりです。先日とある理由でUnityで線を描画する必要がありいろいろしてたので、備忘録がてら記録しておきます。LineRendererだとだめなのか?そもそもUnityで線を描画させるならLineRendererという機能が存在するのになぜ、使わなかったのかというと、いろいろあるんですがとりあえずこれを見てほしい。こいつを見てどう思うだろうか?標準のLineRendererでは頂点の位置によってメッシュが捻られてしまいます。そのせいで、線の太さが均一ではなくなってしまいます。今回はこれが気に入らなかったのでLineRendererExなるものを自分で作ることにしました。最終的なコードは一番下にあるのでソースが気になる人はスクロールバーを全力で動かしてください。線を作る前に自分なりの要件を挙げておきます。2D/3Dともになるべく線の太さが一定に見える(重要)頂点ごとに色が変えられるあと基本的な機能(頂点の追加、挿入、削除)エディター上で確認できる変更はリアルタイムに適応されなくてもいい今回はこれらが満たされるようなものを作っていきます。Unityで線を表現する方法はいくつかあるのですが、要件1を満たすためにメッシュを自動生成する方向で行こうと思います。要件2は頂点カラーを使っていきます。要件3は実装で,要件4はExecutableInEditMode属性つけてエディタを少し拡張してあげればおk。要件5は・・・とくに気にしなくていいよね。「こんなに細かくなくていいな!」ってきは調節できます。頂点(ノード)に表示するメッシュは選択できるのでキューブにするとこんな感じ作るそれでは実際に作っていきます。※あくまで備忘録なので説明は最小限です。気になる人はコメおなしゃす。必要なデータ構造として頂点(ノード)の色とかを記憶しておく必要があるのでそれらを定義します。}}このクラスをリストの形で持たせておいて更新関数が走ったら再描画するという感じ。結合したメッシュを返すという感じになってます。m;}改めてみる汚ねぇ・・・(突貫なのでゆるしてやってることは「from」から「to」へのベクトル「dir」を取得ベクトル「dir」に直行するベクトルの一つ「dirVertical」を取得メッシュを構成する「頂点」、「uv」、「頂点カラー」、「トライアングルインデックス」の配列を準備それぞれの値を設定するメッシュにそれぞれの値を設定して返すとなってます。使い方とかエディタ拡張のコードとかシェーダとかは次回やると思いまふ。その1【メッシュ】【自動生成】Tweet広告を非表示にするもっと読むコメントを書く2016-04-22ブログ始め新しくブログを始めてみました。今度は頑張って書いていけたらいいなぁ。書けたらいいなぁ・・・(届かぬ思い主に書いていく内容は備忘録的な要素が多くなると思います。10秒チンしたバターロールみたいな暖かさで見守っていてください。バターロール美味しいよね。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。