20220111のUnityに関する記事は5件です。

【Unity】URPトラブルシューティング

Emissionを有効に設定したマテリアルをアタッチした動的なオブジェクトが発光しない。 動的なEmissionオブジェクトを発光させるには、Postprocessを使用する必要がありますが、BRP(ビルトインシェーダーパイプライン)でのPostPrcessingの設定と、URPでは設定方法は異なるようです。 URPの場合はパッケージの追加無しでPostprocessを実行できます。 ■BRPの参考サイト ■URPの参考サイト ちなみに、Volumeの追加はHierarchyの左上の+ボタンからも追加できます。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

semantic-releaseのgithub actionでupmをリリースする

いろんな記事がネットに落ちているけれど、upmでsemantic-release使いたかったので自分用の設定メモ. Assets/WavEffector/package.json にて upmの設定ファイルがあるとするとき... 下記で行けた. プロジェクト 試してみたプロジェクト 設定 github actionの設定 .github/workflows/publish_release.yml name: "Publish release" on: workflow_dispatch: {} jobs: build: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v1 with: node-version: '14.x' - name: Install dependencies working-directory: Assets/WavEffector run: | npm install -g -D semantic-release npm install -g -D @semantic-release/git npm install -g -D @semantic-release/github npm install -g -D @semantic-release/release-notes-generator npm install -g -D @semantic-release/commit-analyzer npm install -g -D @semantic-release/npm - name: Release working-directory: Assets/WavEffector env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: semantic-release semantic-releaseの設定 Assets/WavEffector/.releaserc.json { "plugins": [ "@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", ["@semantic-release/npm", { "npmPublish": false }], "@semantic-release/github", ["@semantic-release/git", { "assets": ["package.json"] }] ], "branches": [ "master" ] } ポイント - .releaserc.json を配置することで、 package.json に記載しなくてもsematic-releaseのルールを記載できる. - upmなので、"npmPublish": falseにしてる. - plugin順もそこそこ大事. 最後に @semantic-release/git もってくることで、release note等にpackage.jsonのコミットは含まない感じにしている. - あと npx semantic-release だと @semantic-release/git がないって怒られるので、全部手動でinstallしてる 実行 GithubActionsのページで、Run workflowすればOK. package.jsonの更新と、git tagのversioning. release noteの自動作成を行ってくれる! 超便利だ!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

UnityでWeb上のSVGを表示する

VectorGraphicsパッケージを使用すると、SVG画像をスプライトとして使用することができます(導入方法)。 手元にあるSVGをインポートするだけならこれで十分なのですが、 たとえば https://elix.jp/test/svg/cat.svg にあるSVGを使いたかったので、方法を調べてみました。 まずHierarchy上で Create>EmptyObject で空のオブジェクトを作り、下記のスクリプトをアタッチします SVGFromWWW.cs using System.Collections; using System.Collections.Generic; using System.IO; using System.Text; using UnityEngine; using UnityEngine.Networking; using Unity.VectorGraphics; public class SVGFromWWW : MonoBehaviour { [SerializeField] string m_url = ""; [SerializeField] SpriteRenderer m_sr = null; [SerializeField] MeshRenderer m_mr = null; void Start() { StartCoroutine(WWWCo(m_url)); } // Update is called once per frame void Update() { } IEnumerator WWWCo(string _url) { UnityWebRequest request = UnityWebRequest.Get(_url); yield return request.SendWebRequest(); if (request.downloadHandler.error!="") { Debug.Log(request.downloadHandler.error); } else { Debug.Log(request.downloadHandler.text); using (var reader = new StringReader(request.downloadHandler.text)) { SVGParser.SceneInfo sceneInfo = SVGParser.ImportSVG(reader); var geometry = VectorUtils.TessellateScene(sceneInfo.Scene, new VectorUtils.TessellationOptions { StepDistance = 1f, SamplingStepSize = 1f, MaxCordDeviation = 0.5f, MaxTanAngleDeviation = 0.1f }); m_sr.sprite = VectorUtils.BuildSprite(geometry, 100, VectorUtils.Alignment.Center, Vector2.zero, 0,true); Material mat = new Material(Shader.Find("Unlit/Vector")); Texture2D tex = VectorUtils.RenderSpriteToTexture2D(m_sr.sprite, 1024, 1024, mat); tex.wrapMode = TextureWrapMode.Clamp; m_mr.material.mainTexture = tex; } } } } 次に Create>2DObject>Sprites>Square Create>3DObject>Quad でスプライトと平面オブジェクトを作り、m_sr および m_mr にセットします。 あとは目的のSVGのURLをセットして実行すると、読み込んだSVGがスプライトと平面オブジェクトに表示されます。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

スクリプトエディタ拡張した際に[script]を復活させる

初めに スクリプトエディタ拡張すると[script]が消えてしまいます。 シングルクリックで、Projectウィンドウでスクリプトの位置を教えてくれたり ダブルクリップで、指定のエディタが開いてくれる。 これが便利でよく使うのですが、エディタ拡張するとこれが消えてしまうので 復活させたい。 Unity Answersに答えが! 調べてみると、Unity Answersに同じように質問して答えてもらっている! スクリプト EditorGUI.BeginDisabledGroup(true); EditorGUILayout.ObjectField("Script", MonoScript.FromMonoBehaviour((MonoBehaviour)target) , typeof(MonoScript), false); EditorGUI.EndDisabledGroup(); お!復活した!! 自分で復活させているので、好きな文字を表示できる! 最後に スクリプトの位置がわかったり、ダブルクリップするとエディタが開く動作は開発していると 結構使うので、らくちんになったは!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MRTKのサンプルアプリの動かし方

MRTKはVR向けのアプリを開発する際のUIコンポーネントやオブジェクトをMicrosoft公式が提供しています。 MRTKを用いて幅広いVRアプリが開発できるようになります。 今回はMRTKのサンプルアプリを動かすまでの手順を紹介します。 Unity Version 2019 4.0にて動作確認しています。 事前に必要なもの ・Unityアプリ Unityを用いたVRアプリの開発になるのでUnityアプリはインストールしている必要があります。 ・Oculus Quest 今回はVR端末のOculus Questを利用したサンプルアプリの導入について解説します。 ・Oculus QuestとPCを接続するUSBケーブル(Type-C) アプリをビルドする際に送信するためにケーブルを利用します。 Oculus Questのプロジェクト設定 開発者モードを有効にする Oculusにアプリをビルドする前に開発者モードを有効にしておく必要があります。 事前にスマートフォンにOculusのアプリをダウンロードしておいてください。 1.スマートフォンでOculusアプリを開き、Settingsに移動 2.More SettingsからDevelopper Modeに移動 3.Developper Modeのトグルをオンにします。 4.PCとOculusをUSBケーブルで接続します。 5.ヘッドセットを装着すると[Allow USB Debugging]のポップアップ画面が表示されるので承認します。 Oculus ADBドライバーのインストール WindowsPCからOculusにアプリをプッシュする際に必要です。 zipファイルをダウンロードし、解凍します。 https://developer.android.com/studio/run/win-usb?hl=ja .infファイルを右クリックして、インストールをクリックします。 Unityのプロジェクト設定 OculusのアプリをビルドするのにAndroidのBuild Supportをインストールしておくことが必須になります。 UnityにOculus開発環境を設定 Unity EditorのPackage ManagerからOculus XR Pluginをインストールします。 Project SettingsのXR Plug-in ManagementのOculusの部分にチェックがついていることを確認します。 UnityのアセットストアからOculus Integrationのパッケージをインポートします。 UnityのメニューからMixed Reality > Toolkit > Utilities > Oculus > Integrate Oculus Integration Unity Modulesをクリック ProjectウィンドウからOculusのフォルダを選択します。 フォルダの中にあるOculusProjectConfigを選択してHand Tracking Supportの項目を "Controllers And Hands"に設定します。 MRTKサンプルのダウンロード GithubからMRTKをzipファイルでダウンロードし、解凍します。 https://github.com/Microsoft/MixedRealityToolkit-Unity 右上のCodeからDownload ZIPを選択します。 解凍したフォルダをUnity Hubから開いてください。 MRTKの設定 ダウンロードしたMRTKアプリを開くと最初に以下のようなポップアップ画面が表示されるのでCopy & Customizeを選択します。 以下のような画面が表示されるので、左側の項目からInputを選択 Input System Typeの右側のCloneをクリック Input Data Providerの項目を開いてAdd Data Providerを選択 XR SDK Oculus Device Managerが追加されます。 XR SDK Oculus Device ManagerのTypeを選択して、Microsoft.MixedReality.Toolkit.XRSDK.Oculus.InputからOculusXRSDKDeviceManagerを選択します。 プロジェクトのビルド UnityメニューからFile > Build Settingsを選択 サンプルシーンをScenes In Buildへドラッグしてシーンを追加してください。 PlatformをAndroidにします。 Buildを選択します。 以上でMRTKのサンプルアプリのビルドは完了しました。 Oculus Questからサンプルアプリを開いてUIコンポーネントやオブジェクトをOculus ハンドで持ったり、触ったりして確認することが出来ます。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む