テラシュールブログ

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

Unity2017

【Unity】知らないと苦労するかもしれない、Timelineと座標の話

Timelineの座標系の話 AnimationControllerがAnimatorにセットされていれば現在位置から移動、無ければ絶対座標からアニメーションを開始する ApplyTrackOffsetはAnimationControllerの有無で用途が異なる AnimationControllerがセットされている場合、移動…

【Unity】Timelineで物理演算の動きを使用するアイディア

今回はTimelineで物理演算の結果を使用する方法について考えてみます。 Timelineという機能 Timelineはゲームを再生しないから効率的 物理演算の動きはゲームの再生を要求する Timeline上で物理演算を動かす 物理演算の動きをAnimationClipに保存する Timeli…

【Unity】物理演算を指定秒数 進める Physics.Simulate

今回は「シーンの物理現象をシミュレートする」という、一見分かりにくいAPIのPhysics.Simulateおよび Physics2D.Simulateついてです。 物理演算を指定秒数進めるAPI 物理演算を進める 物理演算を指定秒数進める・巻き戻す 未来予測 感想 関連 物理演算を指…

【Unity】リアルタイムな影がカクカクになる問題の対処

今回はリアルタイムライトがカクカクになる場合の対処についてです。 ライトがカクカクになる問題 Shadow Mapの解像度はどのようにして決まるのか? ライトがカクカクになる問題の対策 Shadow Mapの解像度を上げる 解像度を有効活用する ポイントライトの場…

【Unity】PostProcessingStackの被写界深度のピントを動的に変更する

今回は被写界深度(Depth of Field)…ピントがあっていないモノがボケる表現についてです。 この被写界深度、何処にフォーカスを当てるのかが重要なポイントの一つなのですが、ImageEffect(Cinematic Image Effectや通常のImageEffect)と異なりPostProcess…

【Unity】出来るだけ簡単に会話シーンっぽい何かを作る ~とりあえず文字とキャラが変わるまで~

ふと思いました。 ゲームジャムや簡単なゲームでノベルゲームのようなシステムは必須だよね。でも作るの面倒くさいし、導入も場合によっては面倒くさい。 なので、出来る限りUnityをプレーンなままでノベルゲーム…どころか文字表示での案内するだけの超絶簡…

【Unity】Terrainの負荷やらDrawCallやらを下げるポイント

Terrainは名前の通り地形を作る機能です。ちゃんと作れば、こんな感じのステージが作れます。…地面があり、草木が茂り、地面には段差がある。 パっと見、使い方は微妙な感じですが、メイキングは参考になります。 www.youtube.com さて、これを夢見て初期設…

【Unity】良い感じに見える(屋内向け)ライティングの設定手順

UnityTipsにライティングの設定手順があったので、実際に試してみました。 Last Man Sittingのライティング設定 手順 ステップ1 - とりあえず配置 - ステップ2 - ポイントライトを置く - ステップ3 - Reflection Probeを追加 - ステップ4-Directional Li…

【Unity】IExposedPropertyTableを使った、アセット↔シーン間連携

今回はPlayableDirectorで使用しているIExposedPropertyTableを利用してみます。 正直言えば使える機能では無いように思いますが、この実装からTimelineのResolver運用周りを見直すことが出来たら幸いです。 IExposedPropertyTableはアセットからシーン内の…

【Unity】Animatorをもっと楽に使いたい私の為の、再生中のAnimationControllerと追加AnimationClipをクロスフェードする方法

今回は再生中のAnimationControllerに、別のアニメーションを流し込む方法を見つけたので、こちらにメモします。 AnimationControllerという機能 AnimationControllerは突発的なアニメーションを挟むと複雑化する そうだ、Playable APIを使おう Playable API…

【Unity】エディター起動時にプロジェクト一覧が表示されず起動できない問題の回避方法

発生した問題と、その解決方法です。 根本的な問題解決ではなくワークアラウンドなので、もう少し良い方法があるかもしれません。また、バージョンアップによって治るかもしれません。 白い画面から進まない 回避方法 関連 白い画面から進まない 最近稀に発…

【Unity】SimpleAnimationとAnimationControllerと旧animationの速度比較

以前紹介したSimpleAnimationですが、使いやすさ的には合うケースは多そうですが、「パフォーマンス的には実際どうなのか?」と思ったので、少し確認して見ました。 SimpleAnimation Is it fast? 早速比較・・・あれ?あまり変わらない? Simple Animation速…

【Unity】Timelineで敵の”出現タイミング”や”動き”を制御してみる

今回はUnity Advent Calendar 2017 のネタで、「Timelineがカットシーンを作るだけのツールではない事を教えてやる!という妄想を書きなぐる」内容です。要するに、TImelineでゲームの進行を管理してみようぜ!というお話 Timelineを動画作成以外に使用する …

【Unity】複数パーツで構成された半透明のSpriteを違和感無く表示する…際に出るであろう問題の対策

前回の続きで、複数パーツで構成された半透明のSpriteを違和感なく表示する方法の続きです。前回はSpriteMaskを使用して重複部を表示しないようにしました。今回はこのアプローチで発生する問題を回避する方法について紹介します。 SpriteMaskを使えば、半透…

【Unity】さよならステートマシン。旧AnimationっぽいAPIでアニメーションを再生する SimpleAnimation

今回はステートマシンを使用せずAnimatorでアニメーションを再生する、Simple Animationについてです。 ステートマシンにサヨナラを Playable API Unity公式の旧Animationを模したアニメーション再生コンポーネント アニメーション切替も超絶シンプル Animat…

【Unity】ランダムにアニメーションを再生する

Mecanim(Animator)を出来る限り活用してランダムにアニメーションを再生する方法についてです。 FacebookのUnityユーザー助け合い所で面白い話題が上がっていたので、試しに作ってみました。 何時もと違うアニメーションの再生 ランダムなアニメーションの…

【Unity】UnityScriptをC#に変換する unityscript2csharp

2017系でレガシー判定のUnity Script(Java Script)をC#に変換するプロジェクトについてです。 Unity Scriptは死んだ!何故だ! Unity ScriptをC#に変換する 関連 Unity Scriptは死んだ!何故だ! かつてUnityのチュートリアルやサンプルプロジェクトで使用…

【Unity】パーティクルのタイミングをTimelineで制御する

今回はParticle System(Shuriken)の生成タイミングをTimelineで制御する方法についてです。 Particle Systemとタイミング制御 ParticleのタイミングをTimelineから制御 ControlPlayableでParticleを制御する 幾つかの問題 関連 Particle Systemとタイミン…

【Unity】Timelineから他のTimelineを呼び出して再生する

今回はTimelineの中からTimelineを再生するアプローチについてです。 Timelineは「少し異なるが概ね同じ」や「複数人編集」で面倒なことになる TimelineをTimelineが呼び出す Control PlayableはPlayable Directorも操作できる 参照するTimelineの動的な差し…

【Unity】Timelineの独自Playableを超簡単に作るウィザード

キーボードが治ったので久しぶりのブログ更新です。 今回の内容はTimelineのPlayableを簡単に自作する方法です。 Playableの自作 Playableをサクっと作るウィザード Timeline Playable Wizardの使い方 作られるコード ○○○Track ○○○Clip ○○○MixerBehaviour ○○…

【Unity】音をキャプチャーするAudio Recorderと、動画撮影するMovie Recorder

昨日の続きで、調べられなかったMovie RecorderとAudio Recorderについて 固定フレームも録画可能なRecorder 録音するAudio Recorder ムービーを録画するMovie Recorder GBuffer Recorder 関連 固定フレームも録画可能なRecorder Recorderについてはコチラ t…

【Unity】固定フレームも可能、画面を録画出来る Recorder

今回はUnityの画面をキャプチャーして保存するアセットについて Unityの画面を動画としてキャプチャーするRecorder 可変フレームではなく、固定フレームで撮影が可能 使い方 エディターの画面を動画としてキャプチャーする 細かい設定 アルファ抜き Timeline…

【Unity】Timelineのクリップが動かすオブジェクトを動的に更新する方法

今回は、昨日紹介したControlTrackのControl Playable Asset Clipに、任意のオブジェクトを動的にバインドする方法についてです。 Timelineの中身を動的に更新したい クリップの値は参照する物と実体を持つものがある Control Playable Asset Clipの参照先を…

【Unity】ITimeControlで、Timelineから"コンポーネント"を操作する

今回はTimelineのクリップからMonobehaviourを継承したコンポーネントを手軽に操作する方法について紹介します。 Timelineで手軽に動かしたい ITimeControlインターフェースはTimelineから呼ばれる 実際に回転させる コードの準備 Timelineにコンポーネント…

【Unity】Polygon Collier 2Dの頂点を調整する

今回は2DのPolygon Collier 2Dの頂点を調整する方法についてです。左の絵が右のようにスッキリします。 Polygon Collier 2Dの頂点は解像度で決まる 判定を調整したくなるケース コライダーを調整する Polygon Collier 2DのEdit Collier Edit Physics Shape …

【Unity】AnimationControllerからTimelineへのアニメーション切替を目立たなくする

今回はTimelineを再生する際に、アニメーションの切替が一瞬で切り替わってしまう問題の対策についてです。 Timelineを使用するとアニメーションが一瞬で切り替わってしまう Timelineの入りと出でフェードする Timelineを使用するとアニメーションが一瞬で切…

【Unity】AnimationControllerを用意せずAnimatorによるアニメーションを使う

Playable APIを使用してアニメーションをAnimationController無しで制御します。 大量のアニメーションとAnimationController Playable APIとは何ぞや Playable APIでAnimationっぽい事をしたい ソースコード サンプル 問題 関連 大量のアニメーションとAnim…

【Unity】Playable APIで幾つかの小技

昨日のPlayable APIで書ききれなかった事を少し追記します。 tsubakit1.hateblo.jp 複数のAnimatorに単一のPlayableを流し込む アニメーションの出力先を切り替える Aditiveの再生 複数のAnimatorに単一のPlayableを流し込む PlayableGraphにOutputは実は複…

【Unity】アニメーション制御に色々と良さそうな"Playable API"について云々

今回はUnity 2017.1で正式導入となったPlayable APIについてです。 PlayableAPIはAnimatorのLowLevel API(のようなもの) アニメーションのブレンド結果をOutputに出力する AnimatorをPlayable API的に見てみる Playable APIを実際に使ってみる AnimationCl…

【Unity】SpriteMaskでSpriteにマスクを掛ける演出が色々と面白い

Unity 2017.1より追加されたSpriteMaskの機能が意外と面白いので、少しメモします。 SpriteMask 操作方法 壁に穴を開ける Spriteの消滅演出をSpriteMaskで 実はパーティクルのマスクも出来る 関連 SpriteMask SpriteMaskはSpriteを利用してSpriteRendererに…