テラシュールブログ

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

3D

【Unity】シェーダーで3Dモデルのアニメーションを行う Animation Texture Baker

今回はシェーダーで3Dモデルのアニメーションを行います。 シェーダーで3Dモデルのアニメーションを行う とりあえずやってみる Animation Texture Bakerの導入 テクスチャでアニメーションするモデルの導入 アニメーションの変換 GPU Instancingに対応してみ…

【Unity】Prefabの”モデルの差し替え”を、セットしたコンポーネントを一々付け直さずに行う方法

今回はModelの更新に関するTipsです。 モデルの差し替えのトラブル オブジェクト構造やコンポーネントを維持しつつモデルを差し替え 実際の流れ コンポーネントの参照先は残らない問題 関連 モデルの差し替えのトラブル ゲーム開発を進める時、最初からモデ…

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

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

【Unity】Cubeを跳ねさせる

今回は小ネタというか、やってみたと言うか…豆腐を跳ねさせるという内容です。 Cubeだって跳ねる とりあえず、跳ぶ! カーブを付ける 豆腐はフルフルする 関連 Cubeだって跳ねる ゲームの仮素材ランキングがあるとしたら、多分ブッチギリで人気No1はCubeでし…

【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】ダッシュで移動した際の土煙っぽい表現

今回はキャラクターが移動した時の土煙について、よく考え方を忘れるのでメモしておきます。 移動時の土煙 土煙の表現 向きと大きさはランダム、座標はワールド 移動時の生成量 足元辺りに生成する 最初は小さく、一気に膨らんで、最後は縮んでく パーティク…

【Unity】低解像度に設定したRenderTextureを使いつつ、クリックした位置にキャラクターを動かす

今回はRenderTexturerを使用しつつ、クリックした位置にRayを飛ばし移動させるアプローチについて色々と見てみます。 低解像度なRenderTextureでゲームを描画する Camera.main.ScreenPointToRayがおかしくなる Input.MousePositionの位置を補正してやる 関連…

【Unity】変化する地形で、マップから落ちないように移動させる手っ取り早い方法

学生のUnityプロジェクトでよく見るのが、主人公キャラクターが壁から落下したり、壁を貫通して移動したりする光景です。 それは「そういったゲーム」なら兎も角、RPGの移動パートのような「キャラクターを移動させる」事が目的の場合は出来れば避けて欲しい…

【Unity】スティックを倒した方向にキャラクターを向ける

昨日に引き続き、キャラクターの向きを変える奴です。今回はマウスの位置ではなく、スティックを倒した方向にキャラクターを向けてみます。 tsubakit1.hateblo.jp スティックを倒した方向にキャラクターを向ける スティックを用意 スティックの方向を向く、…

【Unity】キャラクターの向きをマウスのある方向に向ける(2D/3D)

今回は上から視点で、マウスのある方向にキャラクターを向けようと思います。 マウスの位置にキャラクターの向きを変える サバイバルシューターから学ぶ 地面からColliderを取っ払う 2Dの場合でも同じようにしてみる 2Dって画面だけで向きとれるんじゃね…? …

【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】RootMotionを持たないアニメーションをTimelineで動かす

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

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

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

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

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

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

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

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

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

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

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

【Unity】アニメーションと物理演算を連動させる 5.6以降

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

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

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

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

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

【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】Area Lightと、Emissiveな材質を持つ発光するオブジェクトが輝けと囁く

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

【Unity】アニメーション中、指定の位置に到達するように位置を補正する

ジャンプやダッシュジャンプを用いて障害物を登るというケースはよく有ります。この高さにアニメーションが一致すれば問題は無いのですが、任意の段差や距離をジャンプしたいといったケースは多々あります。 そういったケースの場合、幾つか解決の手法はあり…

【Unity】知らないと面倒くさい事になるかもしれないAnimatorの「Write Defaults」の動作について

今回はWrite Defaultsについて。 この挙動は少し分かりにくいので、少し補足します。 Write Defaultsという項目 キーが未定義なアニメーションは起動時のパラメータをデフォルト値として使う Write Defaultsという項目 注意点 デフォルト値が保持されるケー…

【Unity】Unity-VR360-OverlayGridで、全方位写真の一部にポスターを貼ったり動画を仕込んだり

今回は全方位写真(360度写真)で用意した風景の一部に動画を仕込む方法についてです。 全方位写真 Unity-VR360-OverlayGrid 使い方(下準備) 使い方(物の配置) より馴染ませる為に 動画を仕込もう(Unity 5.6版) マテリアルのMainTexにムービーを流し込…

【Unity】当たり判定の有無や形状、物理演算の状態を視覚的に確認する Physics Debugger【5.6】

物理演算を使用している際に、現在Rigidbodyがスリープしているかや物理演算に使用するコライダーの形状等を確認したく鳴る事があります。 Unity 5.6で、そういったケースで便利なPhysics Debuggerが追加されたので、少し紹介します。 Physics Debugger 実際…

【Unity】ベイクした影とリアルタイムな影を混ぜる新しい幾つかの手法と、その他諸々【5.6b3】

Unity 5.6(b3)より、Experimental(実験的)で提供されていた新しいライトマップの機能がベータ版に統合されました。 ライトのMixedモードがStationaryモードに変化 ベイクした影を表現しつつリアルタイムな影も使いたい 事前計算した影を「マスク」として準…