FC2ブログ
09 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 11

ハルシオンシステムの気ままBlog

株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

 

【ハルシオンブログ】いつからかInspectorを2つ開いて実行するとエラーになった 

こんにちは。
大坂です。

Unityで実行ボタンを押したら見慣れない
「ArgumentException: Object at index 0 is null」ってエラーが出たなぁと思ったときのお話です。


一時停止ボタンを解除したらそのまま実行されるのですが、
毎回押すのも面倒なのでちょっと調べてみたら、
Unity2019.1とか2019.2とかでInspectorを2個開いてるとエラーになるみたいですね。
https://issuetracker.unity3d.com/issues/argumentexception-object-at-index-0-is-null-thrown-when-entering-play-mode-with-two-inspector-windows-and-an-attached-script

1個にしたらエラーでないよーと書いてありましたが、1個にしても出てくることがありました。
1個にしても出てくる場合はInspectorを全部閉じてから1個追加したらエラーが出ないで実行できるようになります。

エラーが出ないバージョンを調べていませんが、こんなエラーが出たら試してみてください。

ではまたノシ

Category: 開発日記(Unity)

tb 0 : cm 0   

【ハルシオンブログ】メインカメラとは別のカメラを使ってミニマップ的なものを作ってみた。 

こんにちは!坂内っす。
もう今日で9月も終わりですね。
今年も残すところあと2か月!はやい!

Unityで1画面に2カメラを使いミニマップみたいのを作る方法。

まずは箱を横から見るだけのものを作ります。


ミニマップ用のカメラを作成し、配置する。



次にRenderTextureを作成。

作成したRenderTextureをミニマップ用のカメラの「Target Texture」にアサインします。



ミニマップを映すオブジェクトを用意する。

今回はuGUIのRawImageに映してみます。

RawImageを用意し、Textureに先ほどのRenderTextureをアサインすると、こんな感じにミニマップ的なのが簡単にできちゃいます!




3D空間に移す場合はRawImageではなく、Quadを使うみたいですよ!
もちろんTextureで表示するため、Cubeとか普通の3Dオブジェクトにも映せるようです。


ということで、今日は簡単にメイン以外のカメラを他の場所に映す方法でした。


あでゅ~ノシ

Category: 開発日記(Unity)

tb 0 : cm 0   

【ハルシオンブログ】3D空間でカメラとの距離にあわせた3Dサウンドの出し方(基本中の基本) 

こんにちは!坂内っす。

シルバーウィーク?なにそれおいしいの?

ということで、今週も張り切っていきましょう!

普段2Dのゲームばっかり作ってたんで、3Dゲームのサウンドとかをやろうと思った時に、「あれ?サウンドが2Dだ・・・」となりました。

そりゃそうですね。

SoundManager的なもの(SoundManagerにSoundSourceいっぱいついてて、一元で管理するようなもの)でやると、SEも2Dのままなんですね。
BGMとかUIの音なんかは3Dの必要ないので、今まで通りSoundManagerでいいと思いますが。


音を3Dにするには、マネージャーではなく、音を出すオブジェクトにサウンドソースを付けて、以下の設定する必要があります。


①音を出すオブジェクトにAudioSourceを付ける
②Spitial Blendを3D寄り(1)にする



これだけで、3Dにあった音になります。

カメラ(AudioListnerがついてる)とサウンドを付けたオブジェクトの距離が近いと音量がMAXで、離れるとどんどん音が小さくなっていきます。
この時に、「どれだけ離れたら完全に聞こえなくなる」や、「この距離だとどれくらいの音量」などを設定もできます。





Max Distanceがデフォルトでは500になっています。
これは、「500m離れると完全に聞こえなくなる」という距離です。

その下のグラフで「この距離の場合はこれくらいの音量」というのが設定できますね。


これが簡単な3Dサウンドの設定かと思います。

大体こんな感じで3Dサウンドは行けるんじゃないかな?

以上です!あでゅ~ノシ

Category: 開発日記(Unity)

tb 0 : cm 0   

【ハルシオンブログ】Visual Studio 2019を導入してみた。 

こんにちは。
大坂です。

あまりにもネタがなかったのでVisual Studio 2019の導入について。
ダウンロードや新機能は以下で確認できます。
Visual Studio 2019 の新機能

Unityで使用する場合はインストール時に以下にチェックを入れる。

※クリックで拡大します。

これでUnityの「Edit」-「Preference」を開けば選べるようになります。

※クリックで拡大します。

ついでに上の新機能に載ってないやつで便利そうだったのをちょっとだけ。

CodeLens機能。デフォルトで有効になってるのですぐ気づきますが。
メソッドなどの参照個数をコード上に出してくれるやつです。
クリックしたらどこで使ってるかとか使用箇所に飛ばしてくれる機能もついてます。


クリックするとこんな感じです。


邪魔で消したければ、「ツール」-「オプション」を開いて、
「テキストエディター」-「すべての言語」-「CodeLens」のチェックを外せば消えます。


もう1個。
コピーの履歴から貼り付けができるみたいです。
ctrl+shift+vを押すとコピーしている履歴から貼り付けができます。


それでは今週もこれにてノシ

Category: 開発日記(Unity)

tb 0 : cm 0   

【ハルシオンブログ】DoTweenのDoRotateで360度回そうとしたときに回らないやつ。 

こんにちは。

TGS皆さまお疲れ様でした。
毎年いってましたが、今年はいかなかった坂内です。

デジゲーの参加サークルリストも公開されましたね。


そしてもちろんデジゲーは客として遊びにいきます。


Unityの簡単なお話。

DoTweenでCubeをクルクル回そうと思い、こんなコードを書きます。


using UnityEngine;
using DG.Tweening;

public class Test0917 : MonoBehaviour
{
[SerializeField]
Transform cubeTran;

void Start()
{
cubeTran.DORotate(new Vector3(0f,360,0f), 2f).SetLoops(-1, LoopType.Restart).SetEase(Ease.Linear);
}
}





しーーーーーん・・・・・


全然回りません。

こんなことありませんか?

実はこれこんなコードに変えると回るようになります。


using UnityEngine;
using DG.Tweening;

public class Test0917 : MonoBehaviour
{
[SerializeField]
Transform cubeTran;

void Start()
{
cubeTran.DORotate(new Vector3(0f,360,0f), 2f, RotateMode.FastBeyond360).SetLoops(-1, LoopType.Restart).SetEase(Ease.Linear);
}
}






ね。

デフォルトではRotateMode.Fastになっているらしく、こちらは対象の角まで早い方に回るといった感じでしょうか?

ターゲットの角度が360度なので、0度から360度まで最短ルートで回転し、360度以上は回転しないようです。

RotateMode.FastBeyond360は、0度から360度までちゃんと回転し、360度以上でも回るようです。


って感じで、今日は簡単ですが、DoTweenのDoRotateでオブジェクトを回転する方法でした。

あでゅ~ノシ

Category: 開発日記(Unity)

tb 0 : cm 0