Unity+UnrealEngine4+Blog.

UnityやUnrealEngine4とかについて学習したことを書いてます

C#

VRでカメラのTrackingを無効にする

VRでカメラのトラッキングを無効にするスクリプトです。 Playerにゲーム内で移動してほしくないときに使えそうですが、再びトラッキングを有効にすると目線が一瞬カクっと飛んでしまうので、切り替えながら使うときには工夫が必要そうです。 下のスクリプト…

AudioのPlayのコールバック欲しいとき(サウンド再生が終わった時を知りたい!)

Audioの再生終了のコールバック欲しいときのスクリプトです。 以前まで自分はAudioClipのLenghをとって、それからあれやこれやしてコールバックの代わりにしていましたが、とても簡単でしっかり動くスクリプトを見つけました。 どこのサイトに載っていたもの…

遅延実行メソッドを事前に準備しておく

C#

時間を指定してメソッドを実行する場合はInvoke("something", 1.5f);とか使ったりしますが、Invokeはメソッドに引数を渡すことができません。なので引数を渡したい場合はコルーチンを使ったりしますが、頻繁にメソッドを遅延実行したい場合は拡張メソッドを…

アプリ起動時に指定のメソッドを呼ぶ[RuntimeInitializeOnLoadMethod]解像度の指定

アプリ起動時に指定のメソッドを呼ぶ[RuntimeInitializeOnLoadMethod]を使って解像度の指定をすることできるらしいです。↓ using UnityEngine; /// <summary>/// アプリ起動時に解像度の初期化/// </summary>public class Resolition : MonoBehaviour { [RuntimeInitializeOnLoa…

注意喚起などの雰囲気を出したい時にしっくりくる点滅・Fade(フェード)のコード(自分用メモ殴り書き)

殴り書きメモ 点滅時に消えている時間より文字が出る時間の方が長いので、注目させたいけどしっかり文字も読ませたい時に使用。 (最後のSin関数の最後 / 2 + 2fとかついてたかも)

オブジェクトを円運動させるスクリプト

オブジェクトを円運動させるスクリプト↓ 作成して回転させたいオブジェクトへアタッチ

指定したコンポーネントを持ったオブジェクトをすべて取得する

指定したコンポーネントを持ったオブジェクトをすべて取得する記事です。 このようなクラスを作成した理由は、細かいサウンド管理の為にプロジェクト途中からAudioMixerを導入したので、Audiosourceを持ったオブジェクトを探す必要があったためです。オブジ…

カメラの向いた先にオブジェクトを追従させる

Targetオブジェクトを向きつつ、カメラの向いた方向へ追従させる内容です。 視界内(カメラ内)に矢印を常に表示させつつ、矢印は目的の場所をさし続けるために作成しました。 SphereにめっちゃガンつけるCube↓ カメラとCubeとSphereを準備。Cubeがカメラに…

enumとUniRxを使ってenumの値が変わった時に何かする

記憶が蘇ったため次のプロジェクトではenumつかおー思ったので、どんな感じで使うかテストしてみました。 Playerのステートを列挙型(enum)で管理して、ステートが変わったときになにかするというのを試してみました。 3つのスクリプトが書いてます。↓ 上…

列挙型(enum)の使い方メモ

C#

列挙(enum)の使いかたメモ! 使ったことはありますが、存在を忘れていたため復習します。 enumは相互排他的で名前付きの値の集合を定義います。Boolの代わりに使って可読性を高めるのに使われたりするそうです。 enumで現在のシーンを把握して処理をすると…

C#の匿名型の使い方

C#

C#の匿名型の記事です。 使う場面ですが、いくつかのプロパティに値をいれるというだけの理由で型が必要な時に、varを使い明示的な型付けなしに素早く使えます。あんまりvarをこうやって使ったことがないのですが、こうやって使えることを頭の片隅に残してお…

Delegate、ジェネリック、ラムダ式 良記事

Delegate、ラムダ式 良記事のご紹介です。 Delegateぼんやりとしかわからないという方はかなり理解を助けてくれる記事になると思います。 qiita.com 私がこのQiitaの記事を見た時で、870いいねが付いていました。 すごい! 実際にコードを書きながら読み進め…

UniRxを使って他オブジェクトの当たり判定を取得して処理を実行するコード

UniRxを使って、他オブジェクトの当たり判定を取得して処理を実行するコードを作ったのでメモ まずは舞台作成 主人公 ・・ Cube 敵 ・・ EnemySphere 通知を受ける ・・ GameMaster(空オブジェクト) EnemySphereのタグはEnemyに変更 当たり判定が取れるよ…

Post Processing Stack(v2) を動的に操作するscript

▼参考サイト(英語) Manipulating the Stack · Unity-Technologies/PostProcessing Wiki · GitHub V1はいい記事がすぐに見つかってすぐにできたのですが、V2は動かなかったり、目的のものと違ってたりして、なんだかとても苦戦したので残しておきます。 今…

道順の誘導などで使えそうなFadeのグラーデーションを考えてみる

道順の誘導などで使えそうなFadeのグラーデーションを考えてみたのでメモ アニメーションとスクリプトを調整必要あり 上のような感じになりました。 オブジェクトは適当に作っていますが、右側に→の先っぽをつければ右側に誘導しているように見えるはず・・ …

UniRxを使ってuGUIのボタンイベントを簡単に実装する

以前もこの内容は少し書いたことありますが、おさらいで書きます。 ボタンのイベント登録は通常↓ このインスペクターのOnClickへスクリプトを格納してうんたらかんたらとやって実装しますが、UniRxだと書き方を知っていればこんな面倒なことをやらずにすみま…

動的に変わる他のスクリプトの変数を参照する

C#

動的に変わる変数の値を取得したい時の書き方ですが、勘違いしていたところがあるので記録。 動的に変わる変数の取得なので、インスタンスの生成をStart時ではなくて、値が欲しいしたい瞬間に(イベント時やUpdate内)に生成して変数を取得するものだと思っ…

エラー:型'UnityEngine.Vector3'を'UnityEngine.Quaternion'に暗黙的に変換できません

C#

あるオブジェクトの角度を他のオブジェクトの角度に適用しようとすると型'UnityEngine.Vector3'を'UnityEngine.Quaternion'に暗黙的に変換できませんとエラーがでたので調べてたら、Vector3からQuaternionへ(その逆も)変換できたので書いておきます。 Var…

Linqわかりやすい記事

メモ gist = "Linq" qiita.com qiita.com qiita.com

オブジェクト生成

オブジェクト生成メモ エフェクトを生成↓ オブジェクトの生成は、宣言・格納して public GameObject obj ; これで呼べますが、 Instantiate(obj); 引数にPositionを指定することができる。 Instantiate(生成するオブジェクト、position(生成する場所)、rot…

スクリプトから親子関係を構築・解消する

イベントによって親子関係を構築したり解消させたりしたかったので、調べたものを書いておきます。 参考にさせてもらったサイト様 qiita.com 下の画像で、スタート時に透明なゴーストキャラクターを実体のあるキャラクターの子要素にして、コライダーの所ま…

エディタの拡張をやってみる

あまり必要ではなかったのでエディタ拡張を調べたことがなかったのですが、やり方の仕組みくらいは理解しておきたかったので調べて試してみました。 参考にさせて頂いたサイト様です。 gametukurikata.com qiita.com まずどういったことが出来るかですが、い…

赤信号になると自動的に止まり、青信号で歩く

通行人が赤信号になると自動的に止まり、青信号で歩き出すように作ってみました。 前回記事の続きです↓ nabesi777.hatenablog.com 前回作成したスクリプトを利用して、赤信号の時には動きを止めるColliderを出現させ、青信号の時には出発をさせるColliderを…

交差点の信号機の制御

交差点の信号機の色の遷移のスクリプト作りましたー 前回記事↓ nabesi777.hatenablog.com こんな感じです。 Junctionという空オブジェクトを作成してその中に信号機を4つ入れます。 そして色を分けたい信号機を、わかり易いように名前にAとBをつけました。 …

Visualstudioでよく使うコードスニペット

最近コードスニペットをよく使い出しました。 コードスニペットとは、コードの途中でtabを押すと自動的に形を完成させてくれる便利機能の事です。 知ったら必ず使い出しますね!実際に使っている、使用する頻度の高いものをいくつか書きます。 "for" + tab ↓…

アニメーションをつけて通行人の作成

通行人作りました~ 通行人を作成しようと思って無料のキャラクターをダウンロードしたのですが、付属のアニメーションは「レガシー」らしくて、Animatorへは使えませんよーと下のようにでました。 アニメーションのインスペクターのRigタブ、「Animation Ty…

フィールド変数の宣言について( [SerializeField] )

C#

開発初心者のほとんどがフィールド変数の変数の宣言を↓として そして、このようにInspector上で数字を弄ったりしていると思います。 でもそんなのだめだよーって記事を読んで、ふむふむとたまに [SerializeField] を使って宣言してたりしてましたが、今いち…

正規表現を使って携帯番号かどうかを判別する

C#

正規表現なるものを学んだので、それを使って携帯番号番号判別メソッドを作ってみました。 正規表現とは以下のサイトから言葉をお借りすると 「文字列をひとつの形式で表現するための表現方法です。」 とてもわかりやすくまとめられてます。 www.mnet.ne.jp …

C# 日時の変換一覧メモ

C#

日時変換一覧書き出しました~

複数のコンストラクターを作成する

C#

複数のコンストラクターを作成する方法です。 UnityにはStart関数がコンストラクターはあまり馴染みがないのですが、C#の勉強中なのでメモメモ Classの初めに呼ばれるコンストラクターって引数を変えて複数設置する事ができるようです。書き方は下記のように…