【Unity】線分同士の交差判定

実装時に少しはまってしまったので備忘録として残しておきます。 実装 (交差判定部分のみ) public static bool LineSegmentsIntersection( Vector2 p1, Vector2 p2, Vector2 p3, Vector3 p4, out Vector2 intersection) { intersection = Vector2.zero; var …

【Unity】ベジェ曲線を学び、実装する

ベジェ曲線とは 数式で曲線を表現する方法の一つです。 コンピュータ上で滑らかな曲線を表現できるため、多くのドローソフトや文字の描画で採用されています。 ベジェ曲線の原理 ベジェ曲線を理解するには、1次ベジェ曲線から一つずつ次元を上げながら動きを…

【Unity】「FancyScrollView」を公開しました

高度に柔軟なアニメーションを実装できる汎用のScrollViewコンポーネントです。 無限スクロールも対応しています。 github.com 以下ほぼ README のコピペです 仕組み FancyScrollView はセルの位置を更新する際に、画面に見える範囲を正規化した値を各セルに…

【Unity】「HIT」のログイン時のようなエフェクトをつくる

HITとは? NEXONが出してるスマホゲームです。UE4製で綺麗なグラフィックのアクションゲームです。 mobile.nexon.co.jp ログイン時のエフェクトってどんなの? 実装方針 まずこんな画像を用意します。 こういうのはパーリンノイズが向いてる気がするので、パ…

【Unity】uGUIで使えるハイパーテキストを作りました

経緯 以前 uGUI Text で Twitter のクリック可能なハッシュタグのようなものを実装しようとして挫折したのをふと思い出して再挑戦しました。 作ったもの uGUI Text の指定した部分文字列にクリック時のコールバックや文字色を設定できる仕組みを作りました。…

【Unity】シェーダーを利用して音声波形を描く

今、広い範囲の音声波形を高速にリアルタイム描画する問題に取り組んでいます。要件として描画対象の範囲をグリグリ変更できる必要があって、これまでLineRendererやGLによる描画を試みましたがどれも欲しいパフォーマンスに届きませんでした。そこで、波形…

【Unity】スクリプトからuGUIのEventTriggerへリスナー登録する拡張を書きました

uGUI要素へ特殊なイベントを登録する際EventTriggerコンポーネントを追加してインスペクター上からぽちぽちやっていくと思いますが、スクリプトから直接AddListenerできる拡張を書きました。こんな風にイベントリスナを登録できます。EventTriggerが無い場合…

【Unity C#】Undo / Redoの実装

今Unityで音ゲーの譜面を作るエディタを開発していて、Undo/Redo の実装をする機会があったのでメモです。 今回はCommandパターンで実装しました。 UndoRedoManager.cs NoteEditor/CommandManager.cs at master · setchi/NotesEditor · GitHub ユーザが何か…

【Unity】テクスチャを分割して個別に保存する

↑のような画像を等間隔に分割したくて、なんかUnityで動くスクリプト書きました。まず対象の画像ファイルをAssetsフォルダに放り込みます。 スクリプトから画素値を扱うための設定として、ImportSettingsでTextureTypeを「Advanced」にして、Read/Write Enab…

【n Back Tracer】リリースしました。

Unity習作2本目のカジュアルゲームをリリースしました。次々と現れるパターンを記憶しながら、N個前のパターンを素早くなぞる脳トレゲームです。難しい選択肢を選ぶほど高得点を狙えます。n Back Tracer - Google Play の Android アプリ コードはGitHubに公…