2018-01-01から1年間の記事一覧
今日は前回の続きで、スケルタルアニメーションをやっていきます。今回やるのは独自のキャラクターを動かす方法についてです。 タナカさん登場 タナカさんをIKで動かせるようにする アニメーションにする 感想 関連 タナカさん登場 前回のキャラクターを動か…
今回は Anima 2Dの後継、Unity 2D Animation(V2)でボーンベースで動くキャラクターを作成してみます。 なお今回は長くなりすぎたのでIk周りはやりません。セットアップまでです。 スケルタルベースのキャラクター表現 パッケージの導入 PSBをインポート スキ…
Sprite Atlasの設定 幾つかのページ*1*2にて、Sprite AtlasとAssetBundleの組み合わせで問題が起きるという話を聞いたので、確認してみました。 SpriteAtlasをAssetBundleに格納しただけだと問題が起こる 手っ取り早い解決策:SpriteAtlasに登録したSpriteも…
この記事はUnity #2 Advent Calendar 2018の20日目の記事です。今は21日だって!?それは本当かい!?まさか遅刻したのに間に合った事にしたのかい!? qiita.com 前回はがむ (@gam0022) | Twitterさんの[Unity] カスタムシェーダーでTextMeshProに独創的な…
今回はPSDのスプライトをレイヤー単位でスライスし、Photoshopの配置そのままにインポートするPSD Importerという機能を紹介します。 PSD Importer PSD Importerの導入 PSD Importerの設定 感想 関連 PSD Importer PSD Importerは、PSBをインポートするカス…
今回はタイトルの通り「アプリを終了(もしくはサスペンド)してもダウンロードを継続する」機能を提供するアセットの機能と使い方についてです。 このアプローチを導入すると、アプリ開始時の「追加コンテンツダウンロード待ち」でアプリを起動しっぱなしで…
今回は、キャラクターやUIといったシーンに配置したSpriteのテクスチャを遅延ロードする事で、ユーザーが操作出来るまでの時間を短縮するアプローチついてです。 SceneやPrefabから参照するSpriteは即時ロードされる テクスチャの遅延ロード Textureをロード…
今回はTimelineから特定のメソッドを呼ぶ方法について紹介します。 Unity 2019.1.0a10で追加された、Timelineでメソッドを呼び出すSignalTrackの使い方 #unitytips pic.twitter.com/BEPvS1D6Qb— 椿 (@tsubaki_t1) 2018年11月29日 この機能はUnity 2019.1 a11…
SceneViewが回せないという動作になりました。 コレの解決法についてです。 SceneViewのロックを外す 結論から言えば、SceneViewのロックが入っていた為でした。 ロックされていると、右上のGizmoの色が薄くなります。 なので、このロックを外してやれば、期…
コンパクトなUnityゲームを出力するTiny Modeのプレビュー版が公開されました。 ということで、早速触ってみます。 この記事はTiny Mode 0.13.2 previewで作成されています。 モバイルブラウザ向けUnity 現状使える機能群 スクリプトはECSベース レンダリン…
今回は、先日行われたGotanda.unity #9で話した「はじめてのScriptable Build Pipeline」の解説記事です。 スライド Scriptable Build Pipelineとは? Scriptable Build Pipelineの使い所 導入 Scriptable Build Pipelineを理解するためのサンプルコード 関…
今回もECSの話です。 ゲームでは特定のオブジェクトを追跡するというのはよくある話です。例えばカーソルやユニット、アイテムやパスなど。 ECSでも同様にそういった機構が必要になる事は多々あります。今回はEntityから特定のキャラクターを追跡させる方法…
今回は自分がECSで色々やるときに、よくやっているTipsを3つ紹介します。 パッケージをPackagesに移す inputDepsのチェーン Debug.Logを出す NativeArrayを自動的に開放するジョブ 関連 パッケージをPackagesに移す PackageManagerで導入したパッケージはC#…
今回はUnityHubで表示されていないバージョンのダウンロードについてです。 UnityHub経由でダウンロード出来ない 解決編 UnityHub経由でダウンロード出来ない Unity Hubは複数のUnityのバージョンをインストールするのに便利です。 複数のUnityのバージョン…
今回はARCoreとAR Kitの両方に対応したマルチプラットフォームAR環境である「AR Foundation」、その最初の一歩として「とりあえず動くもの」の作り方を紹介します。 AR Foundationとは? 使い方 ARのセットアップ 平面の検出をグラフィカルにする オブジェク…
Unity 2018.3の目玉機能(???)の一つである物理演算周りの更新、その一つであるMulti-Scene Physicsについてです。 Multi-Scene Physics PhysicsScene単位で物理演算の速度を変化させる PhysicsScene単位でRaycast 使い方 面白い機能だね!どんな時に使えるの…
ゲームでキャラクターをロードしたりする際、画面がカクつくというのは割とよく見る光景です。今回はその辺りの対処法についてメモしておきます。 Async Upload Pipeline(非同期アップロードパイプライン)の活用 シェーダーのウォーミングアップ シェーダ…
自分はCinemachineの機能は結構好きで、色々と遊んでみたりしているのです。それでもなお首を撚る系の機能「Clear Shot」についてです。 Clear Shot キャラクターが隠れた時に、見える位置にカメラを動かす 手順 キャラクターが近づいてきた時にカメラを切り…
今回はC# Job SystemでTransformAccessArrayを利用した際の、ジョブの分割数についてのお話です。 TransformAccessArrayが並列処理されない? 親が同じならば単一のジョブで実行される ジョブの分割数を制限 複数のIJobParallelForTransformを発行するとどう…
Unity 2018.3からNavMeshのRaycastを非同期で実行することが出来るようになったので、その方法についてです。 なおExperimentalなAPIを使用するので、今後変わるかもしれません。 NavMeshQuery経由で非同期でRaycastを実行 使ってみる 非同期で動かそう! 関…
今回はECSで配列を使用する方法についてです。 ECSで配列を使用する ECSに格納するComponentDataには配列を格納出来ません。とはいえ、マネージドなメモリも格納出来るSharedComponentDataは大量の種類を生成するとECSの効率が著しく下がるので余り良くあり…
SpriteAtlasを始めとしたパッキングのアプローチを使用することで、スプライトの描画時に必要なパスの数が減り、パフォーマンス的に良い感じになります。よく言われるDrawCallやSetPassの削減というやつです。 さて、SpriteAtlasでスプライトをパッキングし…
今回はEnumeratorを使用して文章を一つずつ取り出していきます。余りに使わない技術なのでよく忘れるのですが、その度に思い出すのも面倒なのでココにメモしておきます。 リストから要素を取り出す そうだ、Enumeratorを使おう 使えるのはList 感想 関連 リ…
今回はECSにおけるEntityのセーブ及びロードについてです。 つまりGameObjectをSceneやPrefabに固めるように、Entity(Entity & ComponentData)をファイルとして書き出します。 なおUnity 2019辺りのタイミングでちゃんとしたエディターサポートが始まるの…
今回はボタンをタイミング良く押すと連続攻撃になる動作を作成します。 格ゲーのようなコマンド入力ではなく、3Dアクションによくあるような非常に単純なもの です。 ボタン連打でコンボ攻撃 1. ボタンを押したら殴る 2. ボタンを押したら次の攻撃への実現 3…
前回に引き続き、今回はノイズを使用してみます。 ノイズを使用する コード ノイズを使用する 下のような感じの動きを作ってみます。 Mathfは多分メインスレッドでしか動作しませんが、Mathematicsだと別スレッドでも問題なく動作します。 またRandomと異な…
今回はC# Job Systemでランダムを使うアプローチについてです。 UnityEngine.Randomがメインスレッドでしか動作しない Unity.Mathematics.Random RandomをC# Job Systemで使ってみる とりあえずジョブにランダムを突っ込む。しかし 同じ結果が出ないようにす…
Unite LAで盛り上がってますが、今回はソレは置いといてAnimation C# Jobsを試してみます。 Animation C# Jobs 作ってみたもの 解説 コード 感想 関連 Animation C# Jobs Animation C# Jobsは言うならば 「アニメーションを独自実装するモノ」 です。 Playab…
デカイ記事を書こうとして中々更新まで辿り着かないので、今回はサクっとECSの並列処理におけるスケジューリングの挙動について書いておきます。 IJobForEach? ECSは参照するComponentDataでスケジュールが決まる 異なるComponentDataへアクセスするジョブは…
最近のECS界隈で特に理由もなくChunk Iterationを採用されている事をよく見るので、今回そのChunk Iterationついて書いてみます。 ComponentDataの組み合わせの爆発 Chunk Iterationという回避方法 コードを書いてみる 全文 感想 関連 ComponentDataの組み合…