Unity5.6
まんまタイトルの通りで、.NETで作成したスレッド上の処理時間をProfilerに乗せる方法についてです。 Profilerで負荷のかかっている場所を見つける 非同期処理とProfiler 複数フレームを跨げる 関連 Profilerで負荷のかかっている場所を見つける 処理負荷や…
AssetGraphToolは大量のアセット群を制御するのに向いているエディター拡張です。ノードベースで編集が出来るので、スクリプトを触らない人にも使いやすくなっています。 今回はAssetGraphToolを使用して設定の変更を自動化します。具体的には、特定のフォル…
今回は動的にNavMeshをベイクするNavMeshSurfaceについてです。 動的にNavMeshをベイクする 高レベルのコンポーネントを入手する NavMeshSurfaceを利用した動的なNavMeshのベイク まずは使ってみる NavMesh Surfaceのセット NavMeshSurface.Bakeの呼出 応用 …
今回は最近のスケルタルアニメーションでよく見られるような、複数パーツで構成されたSpriteを、違和感なく半透明にするアプローチについてです。 若干限定的な所があるので、そのあたりは自分で何とかする必要があります。 2Dのスケルタルアニメーション ス…
プロファイラーに表示されるようなCPUの処理時間をスクリプトで取得する方法についてです。 プロファイラーは負荷の高い部分を観測する プロファイリングの結果をスクリプトで云々する RecorderでProfiler(CPU)の項目を取得 処理時間がやたら長くなったら…
学生のUnityプロジェクトでよく見るのが、主人公キャラクターが壁から落下したり、壁を貫通して移動したりする光景です。 それは「そういったゲーム」なら兎も角、RPGの移動パートのような「キャラクターを移動させる」事が目的の場合は出来れば避けて欲しい…
今回はUnity 5.6で追加されたLightingの新しい機能、特にShadowmaskについてです。 Shadow Maskは動的な影と静的な影を混ぜる手法 「影」の計算を事前に行う マスクなので輝度や色を変える事が出来る 間接光は事前にテクスチャに焼かれる 光沢が綺麗に出る C…
今回はUnity 5.6から追加されたTransparency Sort Modeを使って「スプライトの描画順を下にある物を優先」にします。 Spriteの描画順 下にあるスプライトを手前に描画 縦に長い物体の問題 解決:Z軸で描画順を調整する 複数のスプライトを合わせて表現してい…
物理ベースシェーダー的なパーティクルエフェクトが作られたみたいです。 Standard Particle Shader Standard Particle Shaderは、PBRベースなパーティクルシェーダーみたいです。 通常のStandard Shaderよりライティング周りを簡略化した代わりにパフォーマ…
とある事情で作ったTimeline用のフェードイン・フェードアウト Playableです。 これぐらい最初から用意してくれてもバチは当たらないと思いますが、まぁ。 ※Unity 2017b5で実装が大幅に変わった為、動作しません。 新しい実装に修正中 使い方 コードの説明 …
今回はUnity 5.6から可能になったSpriteでの9 Sliceについて紹介します。 Unity 5.6から搭載された 9 Slice(スプライト向け) 9 Sliceって? 9 Sliceを使ってみる スプライトの用意 タイリング(Tiled) TiledのTile Mode TiledとSlicedの違い Colliderの大…
以前、アニメーションと物理演算を連動させる方法について紹介しましたが、Unity 5.6でもっとシンプルになりました。 tsubakit1.hateblo.jp Animate Physicsなる機能 Unity 5.6のアップグレードガイドを眺めていると、少し気になる項目がありました。 docs.u…
下で紹介された内容は、どちらも解決したみたいです。*1 madnesslabo.net 先日リリースされた「Unity 5.6」について、幾つか地雷なバグがあるそうなので見てみましたが、内容が少し気になったので調べてみました。 AddComponentでImageを足した際に、OnDisab…
WebAssembly 先日Google ChromeとFirefoxがWebAssemblyに対応しました。 この素晴らしいニュースではFirefoxが対応したのは当然として、世界で圧倒的にユーザー数の多いGoogle Chromeも対応したという事です。 dev.classmethod.jp Android環境でも「多分動か…
今回はUnityでゲームをビルドする前にプロジェクトやシーンに何らかの処理を行い、、ビルド完了後に戻す方法についての紹介です。 Unity 5.6以降で動作します。 作る際に便利なものとパフォーマンスに良いもの ビルド前とビルド後に処理を行う(全体) ビル…
今回はプロファイラーの小技についてです。 プロファイラー小技集 CPUとGPUの使用時間を確認 表示する項目を増やす・減らす CPUプロファイラの表示項目を隠す CPUプロファイラの表示順を変更する 負荷のあるオブジェクトがドレかを確認する Timelineで表示す…
Unity 5.6から、ビルドしたゲームに含めるアセット群を圧縮するオプションが追加されました。 この圧縮をONにすることで「アプリ起動時間の短縮」や「インストール後にサイズが膨れ上がるのを防ぐ(iOS/Standalone)」効果が期待出来ます。 ビルドしたゲーム…
アルファチャンネル付きムービー、アルファムービー、透過ムービー、with alpha、αムービー、Aビデオ、呼び方は色々ありますが、背景が透明なムービーについてです。 アルファチャンネル付きムービー 使用出来るコーデック Webmを再生出来ない端末では アル…
今回、Unity標準機能化の動きに合わせて無料で使用出来るようになったCinemachine を実際に触ってみました。 カメラの動きをコントロールする 簡単な使い方 まずはChinemachineのセットアップ。 カットの用意 注目するオブジェクトのセット ドリー的にカメラ…
tsubakit1.hateblo.jp ---------- 以下旧記事 ---------- TimelineのExperimental Buildが公開されています。 せっかくなので字幕に使ってみました。 ※Unity 2017b5で実装が大幅に変わった為、動作しません。 新しい実装に修正中 Timelineのスクリプト制御 T…
今回は、Unity 5.6の個人的な目玉機能、Progressive Lightmapperについてです。 ライトのベイクには時間がかかる Progressive Lightmapper という機能 ベイクの残り時間が表示される Emissiveなマテリアルで焼いた影が若干綺麗 ベイク中にゲームを再生したと…
Unityユーザー助け合い所で少し気になった投稿があったので、調査してみました。 Lightmapを焼くと光沢が出ない 光沢を表現したい Directional Lightの場合 PointLightやSpot Light Pixel Light Countの限界 AreaLightやEmissive Objectの場合 モバイルでは……
UnityのTimelineエディタのプレビューリリース版その1がリリースされてました。 Timeline Experimental Preview Release 1 https://forum.unity3d.com/threads/timeline-experimental-preview-release-1.455265/ 機能 現状の機能は大雑把にこんな感じです。…
今回はUnity 5.6に追加されたComposite Collider 2Dについてです。 Compound Collidersという機能 CompositeCollider2Dという機能 ダイナミック洞窟生成 作り方 関連 Compound Collidersという機能 Rigidbodyの下にColliderが複数ある時、実はUnityはCollide…
Unityのライティングシステムの隅にひっそりと存在するArea Light(エリアライト)、その知られざる生態系について、今回は踏み込んでみようと思います。 影の表現が柔らかくなるAreaLight 広い範囲からの照射ばぼんやり、狭い範囲からの照射はハッキリ Area…
今回は全方位写真(360度写真)で用意した風景の一部に動画を仕込む方法についてです。 全方位写真 Unity-VR360-OverlayGrid 使い方(下準備) 使い方(物の配置) より馴染ませる為に 動画を仕込もう(Unity 5.6版) マテリアルのMainTexにムービーを流し込…
物理演算を使用している際に、現在Rigidbodyがスリープしているかや物理演算に使用するコライダーの形状等を確認したく鳴る事があります。 Unity 5.6で、そういったケースで便利なPhysics Debuggerが追加されたので、少し紹介します。 Physics Debugger 実際…
Unity 5.6(b3)より、Experimental(実験的)で提供されていた新しいライトマップの機能がベータ版に統合されました。 ライトのMixedモードがStationaryモードに変化 ベイクした影を表現しつつリアルタイムな影も使いたい 事前計算した影を「マスク」として準…
Unityでライトマップをベイクする場合、何も考えず初期設定でベイクすると非常に時間がかかります。それを短時間でベイクする為のチュートリアルとチュートリアルを行う為のアセットが公開されてました。 チュートリアルとアセット 7.5時間が2.25分に 補足 B…
昨日に引き続きUnity 5.6の新しい機能についてです。 スプライトの描画順制御 Order In Layerで制御した時の問題点 SortingGroupで描画順を制御 利用アセット 関連 スプライトの描画順制御 Unityのスプライトは、標準設定ならば*1、Sorting LayerとOrder In …