196の日記

完全に開発メモと雑談、その他忘れそうな計算式などを書き溜める場所になっています!

Unity 指定したオブジェクトの方向にゆっくり向く(回転)


Unity VR (Oculus Rift 他) HMDと連動しないカメラ

UnityでOculus側とディスプレイ側に別々の視点の映像を表示する - Qiita


ここ(上)を参考に

f:id:thinline196:20171201201516p:plain

一番下のTargetEyeをNoneにすることで、HMDと連動しないカメラとなります。この項目は、VR(XR)Supportをオンにしないと現れない項目なので注意。




余談

ちなみに、HMDミラーリングも消すことができるそうで

UnityEngine.VR.VRSettings.showDeviceView = false;
||

ローカルエリアにサーバを公開したかった(Mac) (原因:McAfree)

少し前に似たようなことやったのに、また忘れてました。
thinline196.hatenablog.com


今回は自分のMacでの出来事。Railsで作ったプロジェクトをローカルエリア内で、apiサーバとして動かしたいと思っていました。

が、、



localhostで叩いたら繋がりますが、プライベートアドレスで叩くと繋がらない。ちなみに、自分のPC内でip叩いてつながればローカル内でもつなぐことができるようになっています。


で、、
Mac本体の設定からファイアウォールの設定を試みるも、うまくいかず。なんかアプリケーションごとにしかできないのかな?で、思い切ってファイアウォールを一旦切って見ましたが、それでも繋がらない。





はい。原因McAfeeでした。

f:id:thinline196:20171025170414p:plain
f:id:thinline196:20171025170530p:plain

上の手順のあと出てくるウィンドウのファイアウォールから+ボタンで設定を追加しましょう。Railsは3000ポートを使用するので、そこだけ許可してやると、非常に良きです。

C# 配列をランダムな並びにする

何かコップの並びをランダムに並べたい場合など、連続するものをシャッフルする際に役立つかも

Unity UNET 特定のアドレス,ポートに接続できない(Windows)

別にUnityに限った話ではないですが、unetで固定ipとポートを指定してそのアドレスに立てたサーバにアクセスできない時の対処法。ネットワーク周りに疎い僕のようなUnityユーザはわんさかいるのではないでしょうか笑


今回はWindows Firewallが原因でした。(McAfee使ってますがここは特に関係なし)

[コントロールパネル] > [システムとセキュリティ] > [windows ファイアウォールによるアプリケーションの許可] > [別のアプリの許可]


ここからProgram FileフォルダにあるUnity.exeを登録してやってください。外からアクセスする場合があるのならパブリックに設定。

Unity ワールド座標とローカル座標の変換

DestroyImmediate、マルチタッチ無効、ローカルとワールド座標の変換【Unity】 - (:3[kanのメモ帳]


ワールド座標を特定のオブジェクトのローカル座標に変換

transform.InverseTransformPoint (worldPos);

その逆

transform.TransformPoint (localPos);


Inverseの方を使う場合は、スクリプトをどこに貼ったかを気にしながら使わないと、予期しない座標変換をされるので気をつけて。

Unity コルーチンが止まる

呼び出し元のクラスが削除, またはActiveがfalseになった場合, コルーチン処理は途中で中断されます。


[Unity]コルーチンは呼び出し元が無効になるとストップしてしまう | ma_comu雑記帳


ただし、呼び出し元が消えるのと同じフレーム内の処理はおそらく呼ばれるかと思います。(体感) 念のため, 消える可能性があるクラスからは呼ばずに別の常駐するクラスにコルーチン呼び出しメソッドを作って、それを呼ぶことで中断が回避されるかと思います。(当然ですが、削除されるクラス内に実装されたコルーチンも中断するはずです)