searchカテゴリー選択
chevron_left

カテゴリーを選択しなおす

カテゴリーのご意見・ご要望はこちら
cancel
プロフィール
PROFILE

はなちるさんのプロフィール

住所
未設定
出身
未設定

自由文未設定

ブログタイトル
はなちるのマイノート
ブログURL
https://www.hanachiru-blog.com/
ブログ紹介文
Unityをメインに扱う技術ブログ。 Twiter等で「はなちる」という名前で活動をしています。
更新頻度(1年)

147回 / 266日(平均3.9回/週)

ブログ村参加:2020/03/05

本日のランキング(IN)
読者になる

新機能の「ブログリーダー」を活用して、はなちるさんの読者になりませんか?

ハンドル名
はなちるさん
ブログタイトル
はなちるのマイノート
更新頻度
147回 / 266日(平均3.9回/週)
読者になる
はなちるのマイノート

はなちるさんの新着記事

1件〜30件

  • 【C#】グラフの連結成分を調べるアルゴリズムを実装してみる

    はじめに 今回はグラフの連結成分を調べるアルゴリズムを実装してみようと思います。そもそもグラフの連結成分とは「任意の2点間に道があるグラフのうち、極大な連結部分グラフ」のことをいいます。以下の画像のようなグラフだと{0, 1},{2, 3, 4},{5, 6, 7}の3つの連結成分があることになります。 3つの連結成分があるグラフ概要が掴めたところで早速実装とアルゴリズムについてみていきましょう。 はじめに グラフの定義 連結成分を調べる 実装 使い方 グラフの定義 頂点・辺の重みなどがないシンプルなグラフは「頂点のラベルとその頂点からの接続先の頂点集合」の集合で表すことができます。 // 実…

  • 【C#】LINQの「ElementAt(0) vs First()」

    はじめに プルリクのレビューをしていたところ、Enumerable.ElementAt(0)を用いてコレクションの最初の要素を指定している方がいました。 https://docs.microsoft.com/ja-jp/dotnet/api/system.linq.enumerable.elementat?view=net-5.0私はいつもEnumerable.First()を使っていたので、すごい新鮮だったのですがどっちの方がパフォーマンスが良いのか気になったので調べてみました。 Enumerable.First メソッド (System.Linq) | Microsoft Docsその結果…

  • 【Unity】FacadeパターンとMediatorパターンの違いと使い分けについて

    はじめに 今回はFacadeパターンとMediatorパターンの違いについて考えた後、それぞれの使い分けについて考えてみたいと思います。しかし私自身まだ習いたてなので、間違っている情報を書いてしまっている可能性があります。注意してください。 はじめに 2つの違いを一言で Unityでの実装例 Facade Mediator もう少し深掘りに 2つの違いを一言で FacadeパターンとMediatorパターンの違いを一言で表すと Mediatorは双方向にやり取りをするが,Facadeは一方向にやり取りをする でしょう。 Unityでの実装例 Facade github.com Facadeパタ…

  • 【Unity】サービスロケーターを使ってみる

    はじめに 今回はServiceLocatorパターンというよくDependency Injectionパターンの前座として紹介されるデザインパターンを取り上げたいと思います。 はじめに 実装 使い方 テストをやる サービスロケーターの良し悪し さいごに 実装 サービスロケーターの実装の仕方は無数にありますが、私が好みかつシンプルなのはこんな感じ。 using System; using System.Collections.Generic; public static class ServiceLocator<T> where T : class { private static readon…

  • 【Unity】"setting Anti-aliasing Of Already Created Render Texture Is Not Supported!"というエラーの対処法

    はじめに Unityを使っていたらこのようなエラーが出てきました。 setting Anti-aliasing Of Already Created Render Texture Is Not Supported! エラー一応解決することができたので、共有しておこうと思います。 解決策 これはどうやらURP(HDRPでも?)で出てくるエラーらしいです。使用しているRenderPipelineAsset(デフォルトはAssets/Settings/UniversalRP-HighQuality)のQuality -> Anti Aliasing(MSAA)をDisabledにすればOKです。 対…

  • 制作中のゲーム「クローズドサークルからの脱出」を予約トップ10に登録した

    8月下旬から作っているゲーム「クローズドサークルからの脱出」を予約トップ10さんに登録させていただきました。アプリを作る作業に入る前に写真撮影会をしてモチベUP作戦 pic.twitter.com/GKPMk73DKg— はなちる@ゲーム制作 (@hanaaaaaachiru) August 27, 2020 #クローズドサークルからの脱出 という脱出ゲームを黙々と作ってます目標は年末年始あたりにリリースで、予定通りにいけば2年ぶりのアプリリリースができそうです先ほど予約トップ10さんに掲載できたので、よろしければ是非![Android]https://t.co/O4lShR6pZv[iOS]…

  • 【新作アニメ】AWSの無料期間でなく頃に

    はじめに どうか嘆かないで。 AWSがあなたを許さなくても、私はあなたを許します。 どうか嘆かないで。 あなたがAWSを許さなくても、私はあなたを許します。 だから教えてください。 あなたはどうしたら、AWSを許してくれますか? --Hanachiru Bernkastel-- はじめに 事件は突如やってくる AWSにログインをする AWSへの課金は嘘だ! 滞納金を支払いました 同じような被害者を生まないために エピローグ「罪滅し編」 事件は突如やってくる その日も英語で書かれたメールがやってきた。私は数年前からAWSのメールが定期的に届いている。 しかしそれらは常に英語で書かれているため、怠…

  • 【Unity】Simplest Mesh Bakerを使ってメッシュを結合してみる

    はじめに 今回はSimplest Mesh Bakerというアセットを用いてメッシュを結合し,その効果をみていきたいと思います。 使い方についても紹介したいと思いますが,詳細は公式動画を参照してみてください。(といっても名前の通り超簡単ですが) https://www.youtube.com/watch?v=UxkcC0uZ6D8&feature=youtu.be 使い方 Bake Bonesという機能を使えばボーンがついているゲームオブジェクトから骨を焼くこともできますが、今回はメッシュの結合のみ扱います。まずメッシュを結合したいゲームオブジェクトを複数選択し、Bake Meshsを選択。 …

  • 【Shader】GLSLの関数の引数のパラメーター修飾子について

    はじめに 今回はGLSLの関数の引数のパラメーター修飾子についてまとめてみたいと思います。 はじめに 種類 種類 Qualifier Meaning same is in in for function parameters passed into a function out for function parameters passed back out of a function, but not initialized for use when passed in inout for function parameters passed both into and out of a fu…

  • 【Shadertoy】ディスタンスフィールド(距離関数)でお絵かきしてみる

    はじめに 今回はディスタンスフィールド(距離関数)を学び,以下のようなお絵かきをすることを目的にやっていこうと思います。 今回の作品 はじめに ディスタンスフィールドとは? 距離関数を使ってみる 楕円を描画してみる 動きを付けてみる 線を描画してみる しましま模様を書いてみる 図形をいっぱい描画する さいごに ディスタンスフィールドとは? ディスタンスフィールド(距離関数)とは2点間の距離を返す関数のことです。 distance(p0, p1) // 点p0と点p1との距離を返す距離関数 距離関数を使ってみる まずはイメージを掴むためにも,距離関数で得た値をそのまま色として出力してみましょう。…

  • 【Unity】はじめてでも簡単インスペクターのエディタ拡張の手順

    はじめに みなさんエディタ拡張していますか?私はエディタ拡張という名前からかなり高度な知識が必要では?と初めは思っていたのですが、実際に触ってみると意外とシンプルだったと感じました。この記事ではインスペクターのエディタ拡張を扱い、以下の画像のよう見た目・操作性などのメリットをもたらす事ができます。 ScriptalbeObjectのインスペクター拡張特にScriptableObjectというデータを扱うアセットのインスペクターをエディタ拡張するとデータ管理が圧倒的に楽になりオススメですね。こういったインスペクター拡張の手順を紹介していこうと思います。またここではUIElementsではなく昔な…

  • 【Shadertoy,Unity】Shaderを初めて本格的に触ってみる

    はじめに 私はUnityというゲームエンジンに実装されているShaderGraphというノードベースで視覚的にShaderを作れるツールを使ってShaderを作成していました。 イメージただ学校のとあるイベントでシェーダーの知識が必要になったので、コーディングの方も本格的に学んでいこうかなと考えています。今回はShadertoyの使い方〜最低限の知識を身に着けるぐらいまで書いていきたいと思うのでよければお付き合いください。 はじめに Shadertoy Shadertoyの開き方 初めてのシェーダー 色の表現方法について シェーダーでの色の表現 フラグメントシェーダーについて mainImag…

  • 【Swift】プロジェクト作成時に「Single View Application」が見当たらない件

    はじめに 前回の記事でも書いたのですが,最近swiftをボチボチ触っています。そこでSingle View Applicationが見当たらず困っていたのですが対処法?を見つけたので共有しておこうと思います。 どこにもない ネットや書籍を読んでいて、まずはプロジェクト作成時にSingle View Applicationを選択しようと書かれていたのですがどこにも見当たりませんでした。 ←ネット等 私の画面→マニュアル通りにしか動けない私はもうここでフリーズです。終わりです。 対処法 どうやら調べてみると、バージョンアップの影響かSingle Veiw Applicationの名前がAppになっ…

  • 【Unity】UniRxを用いてアプリケーション終了時に何かしらの処理をする(OnApplicationQuitAsObservable)

    はじめに 最近OnApplicationQuitAsObservableというメソッドを知ったのですが,ネットの記事でほとんど取り上げられていなかったので軽く書いておきたいと思います。 はじめに アプリケーション終了時に処理をする もう一息 アプリケーション終了時に処理をする using UnityEngine; using UniRx; public class UniRxTest : MonoBehaviour { void Start() { var vendingMachine = new VendingMachine(); vendingMachine.Activate(); Mai…

  • 【Swift】「Get started with a playground」が「Welcome to Xcode」画面に表示されてない件

    はじめに 最近とあるアプリを作るためにSwiftを始めたのですが、Playgroundの起動の仕方が分からなかったので備忘録の意味合いもかねて残しておきたいと思います。 はじめに 表示がない件 対処法 表示がない件 ネットや書籍では「Welcome to Xcode」の画面にGet started with a playgroundという欄があるようでしたが、私の画面には表示されていないようでした。 ←ネット等 私の画面→おそらくバージョンアップでなくなったのだと思いますが、少し戸惑ってしまいました。 対処法 対処法はシンプルで、左上のアプリケーションメニューよりFile -> New -> …

  • 原神に登場するキャラクターのモデルをダウンロードする方法

    はじめに 公式で原神に登場するキャラクターのMMDモデルが配布されているようでした。 実際に利用してみた例そのダウンロード方法を紹介したいと思います。 はじめに ダウンロードページ 利用規約について ダウンロードページ こちらの公式サイトからダウンロードすることができます。 ys.biligame.com表示されているキャラクターをクリックすることでダウンロードが開始します。モデルは.pmxというMMD用の拡張子を利用しているようです。 利用規約について 利用するにあたって必ず利用規約を確認するようにしてください。ダウンロードされたファイルには以下の利用規約が同封されていました。(2020/1…

  • 【Unity】LineRendererをスクリプトから自由自在に操る

    はじめに 今回はLineRendererについて取り上げていきたいと思います。docs.unity3d.comインスペクターでの設定の方法というよりは、スクリプトから扱う方法をメインに網羅的に紹介していくのであしからず。 はじめに 一本の線を引く 線の太さを変える 線の太さをアニメーションカーブで設定する 線を途中で曲げる 色を変える グラデーションをつける ループ 角を丸くする ワールド座標とローカル座標 さいごに 一本の線を引く まずは一本の線を引くスクリプトを書いてみましょう。 private void Start() { // LineRendererコンポーネントをゲームオブジェクト…

  • 【Unity】HttpClient,UnityWebRequestにタイムアウトを設定する方法

    はじめに Unityで通信を行おうと思った場合、HttpClientもしくはUnityWebRequestのどちらかを使うことが多いでしょう。これらを用いるに当たってタイムアウト処理を設定しておかないと、永遠に処理が終わらないなんてこともあるかもしれません。今回はそれを回避するためにタイムアウト処理を実装する方法について紹介していきたいと思います。 はじめに HttpClientを使った場合 UnityWebRequestの場合 さいごに HttpClientを使った場合 // アプリケーションで一度だけインスタンス化するのが良い private static HttpClient _clie…

  • 【Unity】指定したフォルダ以下のファイルで使用されている文字を列挙するエディタ拡張を作ってみた

    はじめに 先日このようなエディタ拡張を作成しました。指定したフォルダ以下に含まれるファイルで使用されている文字列を列挙してくれるエディタ拡張を作ってみました!TextMeshProのテキストを使用するものだけにして容量削減するときに活躍してくれそうhttps://t.co/pyUv4ERTEP#unity pic.twitter.com/YiiFdzw7hc— はなちる@ゲーム制作 (@hanaaaaaachiru) September 24, 2020 これを作った目的は、TextMeshProのテキストを使用するものだけにして容量削減するというものになります。www.hanachiru-b…

  • 【Unity】3Dモデルの関節のTransformをAnimatorコンポーネントから取得する(GetBoneTransform)

    はじめに UnityのHumanoidモデルには,モデルのImportSettingよりそのボーンマッピングをみることができます。 アバターの Mapping タブ - Unity マニュアル unityちゃんのボーンマッピング今回はボーンに対応したゲームオブジェクトをスクリプトから取得する方法を紹介したいと思います。 はじめに ボーンの列挙型 取得方法 さいごに ボーンの列挙型 取得する方法をみる前に,UnityEngine名前空間にはHumanoid型のモデルのボーンの一覧が記述されたHumanBodyBonesという列挙型が存在します。 Unity - Scripting API: Hu…

  • 【Unity】Device Simulatorを使ってデバイス上での描画をエディタで確認する

    はじめに unity2019.3からpackage managerに登場したDevice Simulatorですが,公式の説明に面白そうなことが書かれていました。 Device Simulator is an alternative to the traditional Unity editor Game window. By simulating Screen and SystemInfo class behavior, Device Simulator aims to give an accurate picture of how an app will look on a device.…

  • 【Unity】いつの間にかPlayerPrefsを削除する機能がデフォルトでできるようになっていた件

    はじめに ゲームデータのセーブ・ロードの手法の一つとしてPlayerPrefsがあります。このPlayerPrefsですが昔はエディタ画面で編集することができなく,エディタ拡張を使って自分で実装する必要がありました。 www.hanachiru-blog.comしかしどうやら編集まではいかないものの、PlayerPrefsを全て削除する機能が追加されているようでした。それについて少し紹介したいと思います。 はじめに やり方 さいごに やり方 Edit -> Clear All PlayerPrefsをクリックすればOKです。 さいごに ただPlayerPrefsは簡単に扱える反面,不正に利用さ…

  • 【EasySave3】EasySave3がAssembly Definitionを定義していると使えない件

    はじめに 私自身Assembly Definitionに詳しいわけではないので間違った情報を言ってしまっている可能性もありますが、EasySave3にはAssembly Definition Filesが定義されていないようでした。そうするとなにが辛いかというと、Assembly-CSharpでないアセンブリ(自分で設定したアセンブリ)からはEasySave3に絶対アクセスすることができなくなってしまうのです。qiita.comとりあえずこれを解決することができたので、今回は解決方法を紹介したいと思います。 はじめに 解決法 解決法 EasySave3のAssemby Definition F…

  • 【Unity】事前ロード,アンロードを実装する(AsyncOperation.allowSceneActivation)

    はじめに 今回はあらかじめシーンのロードを行っておき,任意のタイミングでシーンの読み込みを完了するような処理を実装していきたいと思います。例えばフェードアウトの処理をしている間に、次のシーンのロードを裏で行ってしまうみたいな使い方ですね。実装もさほど重いものではないので、試してみる価値はあると思います。 はじめに 事前ロード こんなことも さいごに 事前ロード ロードが完了したときにシーンのアクティブ化を許可するかどうかをAsyncOperation.allowSceneActivationにより設定できます。 docs.unity3d.com 使い方は以下のような感じ。 public IEn…

  • 【Unity】フェードイン・アウトをShaderGraphで作ってみる

    はじめに 今回ShaderGraphで作るフェードイン・アウトはこちら。結構簡単に作ることができるので、ShaderGraphの練習としても使えるかもしれません。早速みていきましょう。 はじめに 方針 全体 さいごに 方針 alpha値を円形内を0,外を1とすることで再現をします。前に記事を書いたのですが、円を書くためにはEllipse Nodeノードを使えば簡単に実現をすることができます。 名前 入出力 タイプ 意味 UV 入力 Vector 2 入力するUVの値 Width 入力 Vector 1 楕円の幅 Height 入力 Vector 1 楕円の高さ Out 出力 Vector 1 …

  • 【C#】トポロジカルソートを実装してみる

    はじめに 今回はトポロジカルソートを実装していきたいと思います。ja.wikipedia.orgトポロジカルソートとは有向非巡回グラフ(DAG)においてどのノードもその出力辺の先のノードより前にくるように並べるアルゴリズムのことです。 トポロジカルソート アルゴリズムの仕組みはWikipediaに乗っていた擬似コードがすごく分かりやすかったので引用させていただきます。 ja.wikipedia.org // 深さ優先探索を用いたもの L ← トポロジカルソートされた結果の入る空の連結リスト for each ノード n do visit(n) function visit(Node n) if…

  • 【C#】配列から2つの要素を選び、指定した和になる組み合わせを列挙する

    はじめに 今回扱ってみる問題はこんな感じ。 n個の配列Aと整数kが入力として与えられたとき,Aの2つの要素の和がkとなる組み合わせを列挙せよ 例. 入力:A = {1, 6, 4, 5, 3},k = 7 出力:(6, 1), (3, 4) 解き方 まずは2重ループを使った全探索の方法が思いつきましたが、計算量はと性能は良さそうではありません。少し工夫をしてみると、辞書(ハッシュテーブル)を活用することで計算量にまで減らすことができます。 /// <summary> /// 2つの要素の和がsumになる組み合わせ /// </summary> public static IEnumerable…

  • 【C#】2分探索木を実装してみる

    はじめに 今回は2分探索木を実装してみようと思います。ja.wikipedia.org早速みていきましょう。 二分探索木 二分探索木は「左の子孫の値 ≤ 親の値 ≤ 右の子孫の値」という制約を持つ二分木のことを指します。 今回は以下の4つを実装します。 挿入 削除 要素を見つける 昇順で全ての要素を列挙する コード public class BinaryTree<T> where T : IComparable<T> { private Node _root; public BinaryTree() => _root = null; public BinaryTree(IEnumerable<…

  • 【論文】「Algorithms for Gerrymandering over Graphs」を自分なりにまとめてみた

    はじめに 今回は今までの記事とは少し違い、論文紹介をしたいと思います。読まさせていただいた論文はこちら。kyushu-u.pure.elsevier.com http://www.ifaamas.org/Proceedings/aamas2019/pdfs/p1413.pdfテーマは選挙の区分けをグラフ理論の視点からみるといった感じです。ただし私自身まだまだ初心者なので結構間違っていることを発信している可能性もありますのでご了承ください。 はじめに スライド さいごに スライド 15分発表で用いたスライドなので,イントロと軽い説明ぐらいしか紹介できていないのであしからず。 (あとGoogleス…

  • 【C#】選択ソートを実装してみる

    はじめに 今回は選択ソートを実装していきたいと思います。 ja.wikipedia.orgこのアルゴリズムは実装は簡単だけど性能がいいといったソートアルゴリズムで、バブルソートと似た系統のものです。早速みていきましょう。 はじめに 選択ソート 実装 テスト 考察 選択ソート こちらの動画がすごい分かりやすかったです。 www.youtube.com 実装 public static class SelectionSort<T> where T : IComparable<T> { /// <summary> /// 選択ソート /// </summary> public static T[] …

カテゴリー一覧
商用