Unity

Steamworks.NETをUnityに導入する

Steamworksとは Steamにリリースをする際に利用するデベロッパーツールの名称。 基本的には、https://partner.steamgames.com のこと。 Steamworks SDKとは Steamworksにビルドをアップロードするなど、ウェブで完結できないことをやる為のツール。ダウンロ…

【Unity】多言語対応をスプレッドシートで管理するシステム

多言語対応の問題点 UnityではTextMeshProなどを用いて文字を表示できます。 しかし多言語に対応する場合、例えば↓のようなスクリプトを書かなくてはいけません。 var lang = Application.systemLanguage; if (lang == SystemLanguage.Japanese) { text.text…

UnityのエディタはWSLのVimが最強だということ

Unityのコード編集 Unityのコード編集ツール候補には次のような選択肢がある. Visual Studio Visual Studio Code Rider Vim Emacs IDE 単にコードを書く支援だけじゃなく,デバッグ機能や便利ツール全盛り!というIDE(統合開発環境)がある. これは,すご…

WindowsのUnityでVimを使う手順

UnityはWindowsで動かしたいけど、Vimが使いたいので、WSLでVimを使うことにした。 WSLのインストール WSL2を使っても良かったが、追加のコンポーネントが必要とのことで、ひとまずWSL1で利用することにした。 WSL2でも問題ない。 https://qiita.com/mataril…

【Unityシェーダ】ZWrite Onなのに描画順が崩れる場合の対応

問題 サーフェスシェーダで、半透明なシェーダを作っている際に描画順が崩れた。 元コード↓ Shader "hoge/hoge" { Properties { } SubShader { ZWrite On Tags { "Queue" = "Transparent" "RenderType" = "Transparent" } CGPROGRAM #pragma surface surf La…

uGUIのTextにルビをつける【Unity】

ルビ振り問題 uGUIで漢字にルビをつけたいとき,Unityでは結構面倒です. 普通にやると,新しくTextオブジェクトを作成して,漢字の上に位置を合わせるしかありません. これを全部の漢字にやっていては,あまりに時間がかかる上に,変更に耐えられません. …

UnityのビルドをSteamにアップロードする方法

公式サイトからSDKをダウンロード ↓のサイトから最新のSteamworks SDKをダウロードします. zipを解凍後,toolsフォルダにあるSteamPipeGUI.zipも解凍して,SteamPipeGUI.exeを起動します. sdk > tools > ContentBuilder > content 内にUnityのビルドで出力…

Unityで等速に移動する方法まとめ

基本的に全部右(1, 0, 0)に移動する場合について考えます。 その他の方向についても同様に出来ると思います。 Unityのバージョンは2019.3です。 Transform Transform.positionの書き換え Transform.Traslate Rigidbody velocityの値を書き換える AddForce + …

【Unity】Photonで同じ名前のルームがあるのにphoton game does not existエラーが出る場合の対応

問題 Photon Unity Networkingで、同じ名前のルームを作成/参加するときにphoton game does not existのエラーが出たり、Join出来ずに新規にルームが作成されてしまうことがある。 下記の関数で上手くいかない事象を確認している。 JoinOrCreateRoom JoinRoo…

Unityで画面端がちらつく問題への対応

問題 めちゃくちゃ分かりにくいが、画面の端に1ピクセル分くらい白い線が出ている。 解決方法 CameraのViewportRectを(X:0, Y:0, W:1, H:1)にする。 何かの拍子にこの値が0.99みたいになっていたのが原因だった。

【Unity】シーンを切り替えるエディタ拡張の作り方

シーンが増えてくると毎回Assetsフォルダからダブルクリックしてシーン移動するのは面倒ですよね。 そんな時はシーンを簡単に切り替えられるウィンドウを作ってしまいましょう。 エディタ拡張 Unityにはエディタ拡張という便利なものがあります。 独自で作っ…

【Unity】FlexSourceActorでAugumentExceptionエラー

エラー FlexSourceActorで、LifeTimeの値を変更したところ下記のようなエラーが発生 ArgumentException: ComputeBuffer.SetData() : Accessing 35100 bytes at offset 0 for Compute Buffer of size 35000 bytes is not possible. UnityEngine.ComputeBuffer…

【Unity】ARでUIにポストプロセスを使う方法

普通UIにポストプロセスを適用する場合、CanvasのRenderModeをScreenにしてRenderCameraにメインカメラを設定すればよい。 (ポストプロセスと書いているが、ここではPostProcessingStackV2のこと) しかし、ARで使用しているカメラをそのまま使用してみるとUn…

【Unity】Quaternion関連の関数と返り値の意味

Quaternion.identity 回転していない状態のQuaternion。 Quaternion.Euler(Vector3.zero)と同じ。 Quaternion.Angle(Quaternion a, Quaternion b) 2つのQuaternionの間の角度を返す。 範囲は、0 ~ 180で角度の小さいほうの値を返す。 Vector3.SignedAngle(Ve…