テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

Unity

【Unity】アプリ内課金やAssetBundle、ランキングの例を含むサンプルゲーム、Endless Runner Sample Game

https://www.assetstore.unity3d.com/#!/content/87901 少し前に、Unity公式の完成プロジェクト「Endless Runner Sample Game」が公開されてました。 Endless Runner Sample Gameといふゲーム AssetBundleでキャラクター・ステージの切替 Shaderで色々な画面…

【Unity】ScriptableObjectを使用した、コンポーネント・シーン間でのデータ共有について

今回はScriptableObjectを使用したComponentやScene間でのデータ共有についてです。なお、この記事は30回近く書き直した*1という曰く付きの記事で、場合によっては消えるかもしれません。 ScriptableObject ScriptableObjectはアセットでありインスタンスで…

【Unity】Timeline × Cinemachine でカットシーンのカメラワークを作る

今回はCinemachine を使用してカメラワークを設定してみます。 Cinemachine TimelineとCinemachineを使ってみる Cinemacine TrackとCinemachine Brainを追加してCameraの設定 Cinemachine vertual cameraはカメラの座標と設定 カメラのブレンドはTimelineで …

【Unity】逆引き自動レイアウトのトレーニング。UIをLayoutGroupで並べる

今回は自動レイアウトの動作を把握するために、色々とトレーニングしてみました。 自動レイアウトでUIを並べる UIのサイズが固定、もしくは親に合わせて子のサイズが変動する場合は、簡単 Imageを並べる(左から詰める) Imageを並べる(等間隔) 高さにフィ…

【Unity】2D Experimental Preview Release 4のタイルマップ デモが楽しそう

2D Experimental Preview Releaseの4が(だいぶ前に)公開されてました。 https://forum.unity3d.com/threads/2d-experimental-preview-release-4.469914/ 今回はプレビューリリースの他にデモプロジェクト「RoboDash 」が付いてます。 www.youtube.com 動画…

【Unity】ボタンを押したら音が出る…を、出来る限りコードを書かずに実現する

今回は、ボタンを押した際に音を出す方法を聞かれたので、ココにも書いておきます。音の制御というよりは「ボタンを押した時に音を出したい」という要望を叶える為の物です。 ボタンを押したら音が出る Audio Soureceはスピーカー、Audio Listenerは耳 Audio…

【Unity】RootMotionを持たないアニメーションをTimelineで動かす

今回はTimelineで、RootMotionを持たないキャラクターを動かしてみました。 Timelineと移動 Root Motoinで動く前提? Animationで動かす カーブエディタを使いたい 関連 Timelineと移動 Unity 2017より、やっとこさTimeline(カットシーンエディタ)が追加さ…

【Unity】Textureの「Wrap(繰り返し)」でMirrorが出来るようになった

Unity2017より、TextureのWrap表現でMirrorが使用出来るようになりました。 TextureのWrap Mirror UVスクロール時、始点と終点を合わせなくても繋げやすい パーティクルに活用 TextureImporterから設定 Spriteでは使えない 日記 関連 TextureのWrap Wrapモー…

【Unity】一週間ゲームジャムに参加しました メイクングオブ ころころボンボン

メイクングメイキング。 今回も一週間ゲームジャム(#unity1week)に参加してみました。 作ったゲームはこんな感じです。 コロコロボンボン | ゲーム投稿サイト unityroom 一週間ゲームジャム さて、何を作ろうか みんな凄い 色々考えるがしっくりこない 案…

【Unity】ミニマップシステム のチュートリアル動画

Unityの公式動画チュートリアルに「ミニマップシステム」についてのチュートリアルが追加されていました。英語です。 unity3d.com 内容は、お察しの通り RenderTextureに上から視点のカメラ映像を書き込む 上にあるカメラにしか映らないアイコンを設定 UIに…

【Unity】ビルドしたゲームのログをエディタに表示する

Unity 2017から、Consoleが表示するログに接続先が追加されました。 ビルドしたゲームのログを確認する Development Buildで接続が可能に 関連 ビルドしたゲームのログを確認する Consoleには今まではUnityエディターで操作したログしか表示されていませんで…

Unity 1 Week Game Jam、再び。今回のお題は「転がる」

Unity 1週間ゲームジャム | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう 「1 Week Game Jam」が再び開催されました。 一週間でゲームを作るぜ1 Week Game Jam お題は「転がる」 進捗はスクリーンショットや動画で、#unity1week…

【Unity】AnimationController間でStateMachineBehaviourのインスタンスを共有するSharedBetweenAnimatorsの挙動

SharedBetweenAnimatorsというAttributeがあります。 簡単に言えば「StateMachineBehaviour」のインスタンスを共有するAPIです。少しだけ動作に疑問があったので確認してみました。 インスタンスを共有するSharedBetweenAnimators パラメータはシェアされる …

【Unity】ステージのギミックをアニメーションで作る際に便利な設定

今回は、現在位置からの相対距離で動くアニメーション設定という小ネタです。この使い方に気づかなかったので色々面倒な事をしていましたが、不要やったんやってお話です。 ステージギミックとアニメーション 初期設定ではAnimationの位置は親オブジェクトか…

【Unity】モバイル向けシェーダー見え方比較メモ

ふと思いついて、モバイル向けシェーダーの見え方を比較します。自分メモ用 使用アセット 比較 使用アセット 今回登場頂いたのは、Adam氏。…のLOD版 本家Adam氏は大量のMaterialを(主に目に)使用しており、変更が面倒なので、Material二つしか使ってないAd…

【Unity】uGUIの自動レイアウトが分かりにくいと評判なので解説してみる

uGUIには自動レイアウトなシステムが積まれています。ただ、このシステム便利ではあるんですが色々と複雑なので、少し補足です。 UIの大きさを動的にフィットさせる、オートレイアウト UIの大きさはLayoutElementで決まる Minは最低限サイズ、Preferredは変…

【Unity】Unite 2017 Tokyo の資料が逐次公開されてる模様

Unity 2017 Tokyoで使用された資料が逐次公開されはじめています。タイムテーブルから取得出来ます。 events.unity3d.jp デモがベースで資料だけ見てもナンノコッチャという物もあるかもしれませんが、割と良い感じです。 ただまぁ、タイトル画像が全て一緒…

【Unity】Unity 2017の新しいスプライトをパッキングする仕組み、”SpriteAtlas”について

Unity 2017でSpritepackerの仕組みが新しくなったみたいです。 新しいパッキングの仕組み、SpriteAtlas パッキングの単位はフォルダ・テクスチャ・スプライト 圧縮フォーマットはSpriteAtlasで一括指定 SpritePackerはLegacy扱い パッキングしたAtlasの運用 …

【Unity】生成した瞬間は勢いがあるが、すぐにゆっくりになるパーティクル

生成した瞬間は勢いがあるが、すぐに速度が落ちてゆっくりになるパーティクルについてです。 作り方をど忘れしたので、ココにメモしておきます。 パーティクルの速度は生成時に決まる 速度をLimit Velocity Over Lifetimeで制限する カーブでパーティクルの…

【Unity】1週間ゲームジャムに参加しました。メイキング・オブ・超速ブロック崩し(仮)

一週間ゲームジャム(#unity1week)が面白そうなので、参加してみました。 作ったゲームはこんな感じのゲームです。 超速のブロック崩し(仮) | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう 一週間ゲームジャム 作るものを決…

【Unity】Soft Particleを使って、ポリゴンとパーティクルの交差点がハッキリ見えないようにする

今回はSoft Particleについてです。 Soft Particleはエフェクトの交差点をフェードアウトする 対応してるシェーダーとDepthTextureが必要 モバイルでも動く 関連 Soft Particleはエフェクトの交差点をフェードアウトする ビルボード(常にカメラを向くビルボ…

【Unity】Ctrl + Dで複製したオブジェクトから(1)を無くし、元オブジェクトの下に生成する

昨日のエディタ拡張で調子に乗って作ってみました。 ただ色々確認してる所、Macでは動かないかもしれません。 Ctrl + Dで複製しかし()は無し ファイルの複製(適当) コード 関連 Ctrl + Dで複製しかし()は無し Ctrl + Dでオブジェクトを複製しますが、…

【Unity】Create Emptyは何処に作られるのか?

ふと気になったので確認してみました。 空のゲームオブジェクトをを作成する オブジェクトはフォーカスしたオブジェクトと同じ位置に作られる SceneViewを動かすと、生成位置がズレる Create Empty Childは親と同じ座標 MenuItemのオーバーライドは出来なか…

【Unity】Timelineに動的に生成したオブジェクトをバインドする

今回はTimelineのデータ情報を流し込む方法についてです。 ※Unity 2017b5で実装が大幅に変わった為、動作しません。 新しい実装に修正中 Timelineは使い回せる イベントに使う事でAnimatorの構造を簡単にする 使い回しTimelineを作る時は編集用シーンを用意…

【Unity】リアルタイムな影とベイクした影を混ぜる、Shadow Mask 特集号

今回はUnity 5.6で追加されたLightingの新しい機能、特にShadowmaskについてです。 Shadow Maskは動的な影と静的な影を混ぜる手法 「影」の計算を事前に行う マスクなので輝度や色を変える事が出来る 間接光は事前にテクスチャに焼かれる 光沢が綺麗に出る C…

【Unity】シーンの変更を「無かったこと」にする

ちょっとしたTipsです。 シーンの変更を「無かったこと」にする シーンの内容を変更すると、シーン名の右にアスタリスク(*)が表示されます。この状態であれば、シーンの変更を破棄する事が出来ます。 Hierarchyのシーンを右クリック Discard Changesを選…

【Unity】Unity 2017 beta が公開。個人的に気になった部分まとめ

Unity 2017のBeta版が公開されたみたいです。 Unity 5.6の次はUnity 2017 幾つかRelease Noteで目についた機能 Timelineが着地 SpriteMask SpriteのAtlas生成機能を一新 Spriteベースのパーティクルアニメーション .NET 4.6対応 PlayableAPIのExperimentalが…

【Unity】物理シェーダーベースのパーティクル向けシェーダー、Standard Particle Shader

物理ベースシェーダー的なパーティクルエフェクトが作られたみたいです。 Standard Particle Shader Standard Particle Shaderは、PBRベースなパーティクルシェーダーみたいです。 通常のStandard Shaderよりライティング周りを簡略化した代わりにパフォーマ…

【Unity】Timelineでフェードイン・フェードアウトするTimeline Clipを用意する

とある事情で作ったTimeline用のフェードイン・フェードアウト Playableです。 これぐらい最初から用意してくれてもバチは当たらないと思いますが、まぁ。 ※Unity 2017b5で実装が大幅に変わった為、動作しません。 新しい実装に修正中 使い方 コードの説明 …

【Unity】Spriteで9 Sliceを使う

今回は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以降

以前、アニメーションと物理演算を連動させる方法について紹介しましたが、Unity 5.6でもっとシンプルになりました。 tsubakit1.hateblo.jp Animate Physicsなる機能 Unity 5.6のアップグレードガイドを眺めていると、少し気になる項目がありました。 docs.u…

【Unity】「Unity5.6のわりと地雷なバグ」についての補足

下で紹介された内容は、どちらも解決したみたいです。*1 madnesslabo.net 先日リリースされた「Unity 5.6」について、幾つか地雷なバグがあるそうなので見てみましたが、内容が少し気になったので調べてみました。 AddComponentでImageを足した際に、OnDisab…

【Unity】WebGLとWebAssembly

WebAssembly 先日Google ChromeとFirefoxがWebAssemblyに対応しました。 この素晴らしいニュースではFirefoxが対応したのは当然として、世界で圧倒的にユーザー数の多いGoogle Chromeも対応したという事です。 dev.classmethod.jp Android環境でも「多分動か…

【Unity】AssetBundleに格納したSceneやPrefabがピンクになる問題

AssetBundleにモデルを格納した時、モデルのマテリアルがユニークなシェーダーを使用しているとモデルがピンクになる事があります。 今回はその原因と対策についてです。 モデルがピンクになるという事 AssetBundleに格納したSceneやModelがピンクになる 問…

【Unity 】Unity Collaborate のScene・Prefab マージ機能テスト日記

以前グローバルゲームジャムでCollaborateを使用したのですが、単一のシーンをみんなで一斉に弄りまくってたのに競合が起こらなかったので、少し実験。 詳しくは後日まとめる予定。 オリジナルなシーンとPrefab 同一シーン・別オブジェクトの変更 ユーザー1…

【Unity】公式の「テキストベースなアドベンチャーゲーム」を作るチュートリアル

先日、ついにUnity公式のテキストベースなアドベンチャーゲームのチュートリアルがチュートリアルムービー一覧に追加されました。 「テキストベース」なアドベンチャーゲーム テキストベースなアドベンチャーと言えば、現状日本製のモバイル・コンソール(AA…

【Unity】ゲームのビルド直前に "ファイルの退避" や "シーンの最適化" 等の処理を挟む

今回はUnityでゲームをビルドする前にプロジェクトやシーンに何らかの処理を行い、、ビルド完了後に戻す方法についての紹介です。 Unity 5.6以降で動作します。 作る際に便利なものとパフォーマンスに良いもの ビルド前とビルド後に処理を行う(全体) ビル…

【Unity】知っておくと少し便利な Profiler に関する小技集

今回はプロファイラーの小技についてです。 プロファイラー小技集 CPUとGPUの使用時間を確認 表示する項目を増やす・減らす CPUプロファイラの表示項目を隠す CPUプロファイラの表示順を変更する 負荷のあるオブジェクトがドレかを確認する Timelineで表示す…

【Unity】ノードベースでAssetBundleを作成するツール AssetBundleGraphTool が予想以上に高機能

今回はAssetBundleをグラフィカルに生成するAssetBundleGraphToolについて紹介します。 AssetBundleGraphTool 入手 基本は絞込と構築、あと生成 アセットの絞り込み グルーピングで、条件毎にAssetBundleのグループを構築 AssetBundleの設定と生成と AssetBu…

【Unity】ゲームに最初から含めるアセット群を圧縮するオプション

Unity 5.6から、ビルドしたゲームに含めるアセット群を圧縮するオプションが追加されました。 この圧縮をONにすることで「アプリ起動時間の短縮」や「インストール後にサイズが膨れ上がるのを防ぐ(iOS/Standalone)」効果が期待出来ます。 ビルドしたゲーム…

【Unity】Video Playerでアルファチャンネル付きムービーを使う

アルファチャンネル付きムービー、アルファムービー、透過ムービー、with alpha、αムービー、Aビデオ、呼び方は色々ありますが、背景が透明なムービーについてです。 アルファチャンネル付きムービー 使用出来るコーデック Webmを再生出来ない端末では アル…

【Unity】「被写体のどこを映して欲しいか」を元にカメラの動きをコントロールする CINE.MACHINE BASE RIG を軽く使ってみる

今回、Unity標準機能化の動きに合わせて無料で使用出来るようになったCine.machineを実際に触ってみました。 カメラの動きをコントロールする 簡単な使い方 まずはChinemachineのセットアップ。 カットの用意 注目するオブジェクトのセット ドリー的にカメラ…

【Unity】Timelineで字幕を表示する

TimelineのExperimental Buildが公開されています。 せっかくなので字幕に使ってみました。 ※Unity 2017b5で実装が大幅に変わった為、動作しません。 新しい実装に修正中 Timelineのスクリプト制御 Timelineを用意 スクリプトの用意 ウィンドウを開く タイム…

【Unity】確認までに長い時間を要求するライトのベイクを、素早く確認する Progressive Lightmapper

今回は、Unity 5.6の個人的な目玉機能、Progressive Lightmapperについてです。 ライトのベイクには時間がかかる Progressive Lightmapper という機能 ベイクの残り時間が表示される Emissiveなマテリアルで焼いた影が若干綺麗 ベイク中にゲームを再生したと…

【Unity】とあるライトマップと光沢感(スペキュラー)

Unityユーザー助け合い所で少し気になった投稿があったので、調査してみました。 Lightmapを焼くと光沢が出ない 光沢を表現したい Directional Lightの場合 PointLightやSpot Light Pixel Light Countの限界 AreaLightやEmissive Objectの場合 モバイルでは……

【Unity】Timelineエディタのプレビューリリース版その1がリリース

UnityのTimelineエディタのプレビューリリース版その1がリリースされてました。 Timeline Experimental Preview Release 1 https://forum.unity3d.com/threads/timeline-experimental-preview-release-1.455265/ 機能 現状の機能は大雑把にこんな感じです。…

【Unity】複数のColliderを結合するComposite Collider 2Dを使って少し遊ぶ

今回はUnity 5.6に追加されたComposite Collider 2Dについてです。 Compound Collidersという機能 CompositeCollider2Dという機能 ダイナミック洞窟生成 作り方 関連 Compound Collidersという機能 Rigidbodyの下にColliderが複数ある時、実はUnityはCollide…

【Unity】Area Lightと、Emissiveな材質を持つ発光するオブジェクトが輝けと囁く

Unityのライティングシステムの隅にひっそりと存在するArea Light(エリアライト)、その知られざる生態系について、今回は踏み込んでみようと思います。 影の表現が柔らかくなるAreaLight 広い範囲からの照射ばぼんやり、狭い範囲からの照射はハッキリ Area…

【Unity】コンポーネントのイベント実行順についてのTips

GameObjectにアタッチしたスクリプトの実行順番は、特に何もしなければ割とランダムです。今回はその辺りについて少し整理します。 スクリプトの実行順番 スクリプトの実行順を制御する Script Execution OrderをGUIで設定 メタデータに直接書き込む Default…

【Unity】Statemachinebehaviourの処理の実行順について

Statemachinebehaviourをステートに貼り付けた際、Statemachinebehaviourはどのような順番で呼ばれるのか。 確認してみました。 Statemachinebehaviourを呼ばれる順番 SubStateMachineのStatemachinebehaviour 関連 Statemachinebehaviourを呼ばれる順番 ル…