パハットノート

主にUnity(C#)を中心としたプログラムの備忘録

2022-01-01から1年間の記事一覧

Unity UIボタンを押した(離した)瞬間の処理(Event Trigger)

UIのボタンの問題点 解決策 使用例(インスペクターから割り当て) 1. UIボタンの追加 2. Event Triggerの追加 3. Event Typeの追加 4. スクリプトの作成 5. 処理の割り当て 6. 実行 スクリプトから処理を割り当てる方法 ソースコード 実行結果 UIのボタンの問…

Unity Jsonファイルを利用したセーブ機能の実装

はじめに 用意したスクリプト Jsonファイルの書き込み・読み込みを行うクラス ゲーム開始と同時にデータを読み込み、終了と同時にセーブするためのクラス 使用例 用意するスクリプト ①セーブしたいクラス ②「SaveControllerTemplate」を書き換えたクラス 実…

Unity Shader2D 基本(色反転、グレースケール)

使用した素材 Shaderの使用方法 とりあえず使ってみる 先ほどのプログラムの解説 グレースケール化 関連記事 使用した素材 使用した素材はベイツ・イメージズ様のものです。それぞれの素材のリンクは以下の通りです。 激しく燃え上がる赤い炎 スプラッシュペ…

Unity Shader3D (2)画像の貼り付けと色反転

リンク 前回の記事 Shaderについてのまとめ記事 画像の貼り付け 概要 プログラム 動作確認 張り付けた画像の色反転 リンク 前回の記事 kiironomidori.hatenablog.com Shaderについてのまとめ記事 kiironomidori.hatenablog.com 画像の貼り付け 概要 テクスチ…

Python Pandas DataFrameとnumpy配列の相互変換

DataFrame⇒numpy配列の変換 numpy配列⇒DataFrameの変換 DataFrame⇒numpy配列の変換 dataframe.to_numpy() メソッドを使用します。 プログラム import pandas as pd import numpy as np df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], …

C++ Eigen 可変長の行列MatrixXd

可変長の行列MatrixXd 基本的な使用方法(宣言、アクセス、表示) サイズの変更(resize) 特殊な初期化方法 可変長の行列MatrixXd Eigen::Matrix<double, M, N> mat; で宣言する場合はMとNは定数でなければならないので#defineで宣言するなどの必要があり、プログラム中で行列</double,>…

Unity Slider(スライダー)の使い方

シーンへの追加と構成の説明 スライダクラス(スクリプト)の概要 Direction 色の変更方法 On Value Changed スクリプトからのスライダークラスの操作 応用例 HPバーの作成 シーンへの追加と構成の説明 Hierarchyで右クリック⇒「UI」⇒「Slider」でスライダーを…

Unity キーボードやマウスからの入力

キーボードからの入力 KeyCodeからの指定 文字列による指定 マウスからの入力 プログラム例 キーボードからの入力 InputクラスのGetKey or GetKeyDown or GetKeyUpにより入力の有無をbool型で受け取ることができるのでこれを利用します。 この3種類の関数の…

Unity Physics2D.OverlapBoxの使い方

Physics2D.OverlapBoxについて 概要 使用する関数の説明 使用例 準備 ①LayerMaskの指定なし スクリプト 設定 実行結果 ②LayerMaskの指定あり スクリプト 設定 実行結果 Physics2D.OverlapBoxについて 概要 衝突判定に使える。 検出対象にはBoxCollider2Dなど…

Unity 1つのpngファイルを分割して保存する

関連記事 使用するスクリプト 使用例 関連記事 複数のpngファイルを1枚に並べて保存する方法について 使用するスクリプト ウィンドウから操作できるように「EditorWindow」を継承しました。 using UnityEngine; using System.IO; using UnityEditor; public …

C++ Eigen ベクトルと行列(宣言、初期化、サイズの取得、アクセスなど)

ベクトル 宣言 初期化 大きさの取得 要素へのアクセスと変更 演算(加算、減算、乗算、内積) 行列 宣言 初期化 要素へのアクセスと変更 行数、列数の取得 加算、減算、積、乗算 転置と逆行列 行列とベクトルの積 ベクトル 宣言 基本 //int型で3次元のベクトル…

Unity CSVファイルの読み取り

UnityにおいてCSVファイルの内容をList形式で取得して利用する方法を紹介しています。また、リンクとしてCSVファイルからScriptableObjectを作成する方法やenumを再構築する方法も載せてあります。

Unity LayerMask.valueとgameObject.layer

前提 Layerを使っていたときのトラブル 解決法の模索 仮説 仮説の検証 仮説の原因 解決策 LayerMaskに2つ以上のLayerを割り当てた場合 前提 以下の説明ではUnityのLayersが以下のようになっていると仮定します。 Layerを使っていたときのトラブル LayerMask…

Unity SpriteRendererの描画順変更

2DでSpriteを使用するときによく生じる問題 解決策 Sorting Layerについて Order in Layerについて 2DでSpriteを使用するときによく生じる問題 例えば、下の画像のように画像が3枚あったとします(オブジェクト名と色が対応している)。ここで「red」を「green…

Unity 複数のpngファイルをまとめて1つのファイルとして出力する

概要 使用するスクリプト 使用例 概要 1つの画像を複数の画像に分割保存する方法などは調べると結構出てきたのですが、逆に結合する方法はあまり出てこなかったのでまとめてみました。 一応分割する方法の記事も作成しましたので、こちらもよろしくお願いし…

Unity Dropdownの使い方

概要 Dropdownの構成 インスペクター上での編集 文字列の変更 ドロップダウン変更の検出 スクリプトからの編集 概要 UnityではドロップダウンのためのUIが標準で搭載されており、インスペクター上で右クリック⇒「UI」⇒「Dropdown」と選択することで「Canvas…

C# enumに対するfor文・foreach

C#

参考 導入 for文を利用する場合 foreachを利用したとき 参考 【C#】もう間違えないEnumの値配列を取得する方法 - 渋谷ほととぎす通信 C#でenum(列挙型)とint型の変換をする方法 | .NETコラム 導入 以下のような列挙型変数Numberを利用します。 enum Number…

Excel VBA シートを個別のCSVファイルに保存

VBA

保存するファイル名は元のシート名とする。 また、ファイルの保存場所は実行ファイルと同じ場所。 'シートを別ブック保存(.xlsx形式) Public Sub SaveCSV() For Each copySheet In Worksheets 'ワークシートを新規ブックにコピー copySheet.Copy '保存する…