Unity++blog.

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

VRCビルドエラー:VRCGlobalRoot is not defined.

VRCのビルドエラーで「VRCGlobalRoot is not defined.」のエラーメッセージが出た時の対処方 タグに「VRCGlobalRoot」を加えるとこのエラーは消えます。 念のため手順↓ どれでもいいのでGameObjectをクリックしてそのインスペクターのタグをクリック, 一番下…

UIのImageにGlow効果(Emission)をつける&EmissionのInstensityを動的に変えるスクリプト

UIのImageにGlow効果をつける記事です。 Glow効果をつけるにはマテリアルのインスペクターでEmissionを設定してあげればいいのですが、デフォルトでついているUI/DefaultシェーダーにはEmissionの設定をする項目がありません。 Standardシェーダーでは設定す…

【Unity初心者向け】 シーンビューの移動がおかしい(いつもと違う!)と思ったら・・

ブログ更新を1週間開けるわけにはいかない!!ということで書きます。 最近はShaderの勉強してるんですが、なかなか記事にするのが難しい・・ Unity初心者むけTipsです。 シーンビューの移動がおかしいと思ったら、シーンウィンドウのここをクリックしてみ…

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

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

噂のZenjectを試してみる

こちらのサイト様を参考にさせていただきました。 notargs.hateblo.jp Zenjectはざっくり言うと他オブジェクトのスクリプトを簡単に参照できるというものです。参照する時のGameObject.Find(" ").GetComponent<>がいらなくなるとのことです。確かにあれは…

VisualStuioでシェーダーを書く時のプラグイン

これをインストールすると下図のようにインテリジェンス機能が使えます。 marketplace.visualstudio.com これがあるだけで大分楽になったけど、エラーだしてくれないしインデントもちゃんとしてくれない。Shader書く時はVisualStuioじゃないほうがいいのかし…

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いいねが付いていました。 すごい! 実際にコードを書きながら読み進め…

すんごい使える!mixamoっていう超便利サイトを使って3Dアニメーションをキャラクターにつける

今日はmixamoってサイトの紹介です↓ めっちゃ便利でおすすめなので、Unity初心者の人でもできるように、細かくスクショとって記事書いていきます。 もちろん無料です。ただしログインするために、グーグルアカウントか、Adobeのアカウントが必要となります。…

Transformのひとつの軸だけ動かしたい時、もっさりした書き方したくない!

Transformのひとつの軸だけ動かしたいとき、こんなもっさりした書き方になってしまいます。 例えばY軸を+1したい時 var currentPosition = transform.position;transform.position = new Vector3 (currentPosition.x, currentPosition.y+1, currentPositio…

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

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

オブジェクトへOutLine効果をつける無料アセット使い方

このようにオブジェクトへOutLineをつけるアセットの使い方メモです。 まずはこちらをインポート https://assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/outline-effect-78608?aid=1100l37E9&utm_source=aff 他にも無料で良さそうな…

他のシーンのオブジェクトをインスペクターへ入れて、参照する事ができる無料アセット

他のシーンのオブジェクトをインスペクターへ入れて、参照する事ができる無料アセットのメモです。 例えば下記のようにStartSceneのゲームオブジェクト(Cube)をPlaySceneのインスペクターにいれて参照しようと思っても通常はできません。 これをできるよう…

DOTween(DoMove)のSetEaseで使いやすそうなのをキャプチャしてみた

だいぶDoTweenを使うようになってきたので、さらに詳しく調べてみました。 矢印オブジェクト動かすのにも使ってます SetEaseの種類は沢山ありますが、自分的に使いやすそうなものをキャプチャして残しておきます。似たやつは端折ります。 オブジェクトを用意…

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

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

スクリプトからAnimationCurveを使って値の変化を制御

AnimationCurve、自分でも普通に使えるらしいので試してみました。 フィールドにこう書くと インスペクターにこんなんが出てきました 見覚えあり! クリックしてみるとデフォルトでいくつかのパターンが選択できます。 それではこのカーブを使ってキューブを…

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

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

VRChatのワールドビルドテスト 2019年3月

VRChatのワールド制作に着手しました~! 人狼部屋を作ることにしました! 時間が限られるため、牛歩のように開発していきます笑 今日はとりあえず構想と環境設定です。 必要なものはVRChatSDKとUnityのバージョン2017.4.15f1です。 それぞれをダウンロード…

UniRxすごいわかりやすい連載

わかりやすい~ qiita.com

UniRxで何かをしている間だけタイマーを進める

UniRxで何かをしている間だけタイマーを進めるコードです。 いろいろと応用ができそう。 今回は左クリックをしている間だけ、タイマーを進めてみます。

どのプロジェクトでも使える便利なオーディオ管理クラス

オーディオミキサーを使うまでもない場合のプロジェクトでも、ばらばらに適当なオブジェクトにオーディオソースをつけて音の管理をしていると、どこに付けたかな~??と見つけるのに困ってしまうので、オーディオをひとまとめにクラスを作成しました。 欠点…

UniRxのObserveEveryValueChangedを使って値の変動を監視する

UniRxのObserveEveryValueChangedを使って値の変動を監視する方法を勉強しましたので書きます。 下は見ての通りブーリアン変数を準備して、左クリックがあった時にtrue、右クリックがあった時にfalseへ変えるという内容です。 そして値になんらかの変動があ…

VRでよく使いそう。コントローラーなどからRayを飛ばす&LineRendereでRayの描写

VRでよく使いそうなRayを飛ばしてそれを描写する内容の記事です。 Rayはシーン上では簡単に描写できますが、なぜかゲームシーン上では再生されないため、LineRendereを使ってRayの代わりに描写しています。 まずRayの原点となるオブジェクトにLineRendereを…

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

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

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

C#

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

 [SteamVR Plugin V2] コントローラーへバイブレーション機能を付ける

SteamVR Plugin V2でコントローラーへバイブレーション機能を付けるコードです。 色々と情報が古い&少ないので大変です。 インプットのOutの下にあるHapticがバイブレーションを使う所です。 変数を宣言して↓ [SerializeField] private SteamVR_Action_Vibr…

Post Processing Stack(v2)の一番わかりやすい記事

この記事を参考にすれば一発でいけるはず・・↓ planet-factory.jp

エラー:VR: OpenVR Error! OpenVR failed initialization with error code VRInitError_Init_PathRegistryNotFound: "Installation path could not be located (110)"!

ViveでのVR開発の為にSteamVR Pluginをアセットストアからダウンロードしたらいきなりエラー来ました。 エラー内容↓ VR: OpenVR Error! OpenVR failed initialization with error code VRInitError_Init_PathRegistryNotFound: "Installation path could not…