テラシュールブログ

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

3D

【Unity】ProBuilderで超適当に超適当なステージを作る

ProBuilderが無料になりました。 blogs.unity3d.com せっかくなので、ProBuilderを使用して超適当なステージを超適当に作ってみます。超適当なので、超適当です。超適当してください。 ProBuilderのインポート 超適当なステージを作る 部屋のレイアウトを決…

【Unity】キャラクターから見て対象への角度を「-180~180度」の範囲で求める

対象への角度を「-180~180度」の範囲で求めてみます。 アニメーションで右向き・左向きに曲がるといった際、どちら方向に曲がれば良いのかを求めたいときに使えます。 目次 角度を求める それは何をやっているの? せっかくなので(Root Motionで)向きを変…

【Unity】Particle SystemにLODを適応してみる

何となく思いついて、LODをパーティクルに適応したところ、出来てしまいました。何の役に立つのかと思ってみましたが、これが思いの外有効そうです。 例えば複数の演出で成り立っているパーティクルの場合、距離に応じて演出を追加していくのもアリかもしれ…

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

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

【Unity】パーティクルをGPU Instancingで描画してみる & 対応シェーダーを自作してみる

Unity 2018.1では、Instancing関係の機能が大幅に使い勝手良くなりました。 特にメッシュパーティクルの描画はCPUバッチングではなくGPU Instancingで行えるようになり、幾つかのケースでパフォーマンスが大幅に向上する事があります。 Unity 2018.1 でパー…

【Unity】dynamic voxel-based global illuminationを実現する SEGI

今回はUnityでdynamic voxel-based global illuminationを実現する、SEGIというアセットを試してみました。 github.com 今回試したSEGIは、他のものと同様に事前ベイク無しにGIを実現出来るみたいです。 実際に適当に試したのがコチラ。全てのオブジェクトは…

【Unity】"家具を動かせる" 部屋(ステージ)の見栄えを、出来る限り良い感じにする

綺麗なグラフィックを実現するのは8割以上はモデルとマテリアルのクォリティですが、〆としてライティングやポストプロセスも重要な要素の一つです。 ただし、場合によってはライティングのベイクを利用できないといったケースも存在するかもしれません。例…

【Unity】Occlusion Portalについて

モデルが非表示になっている部分をスキップすることで3D空間を効率的に描画するOcclusion Cullingという機能の機能の一つ、Occlusion Portalsという機能についてです。 Occlusion Portalsという機能 どんなときに使えるのか 実際に使用してみる 簡単なステー…

【Unity】NavMeshSurfaceを使ってゲーム再生中にNavMeshをベイクする方法

今回は動的にNavMeshをベイクするNavMeshSurfaceについてです。 動的にNavMeshをベイクする 高レベルのコンポーネントを入手する NavMeshSurfaceを利用した動的なNavMeshのベイク まずは使ってみる NavMesh Surfaceのセット NavMeshSurface.Bakeの呼出 応用 …

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

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

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

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

【Unity】ユニティちゃんシェーダーを使うと変な模様や色が出るケース

ちょっとヒットしたのでメモ。 スカートに変な色が… ユニティちゃんシェーダーパッチの適応 単純にデプスバッファの精度が足りない スカートに変な色が… ユニティちゃんをインポートすると、体の一部や服の一部が予想していた色とは違う色になる事があります…

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

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

【Unity】ユニティちゃん等で、ジャンプ中に追加で上下してしまう問題の解決方法

今回は上下の動きが最初から含まれているジャンプモーションをアクションゲーム等で使用する方法についてです。 ジャンプ中にジャンプモーションがジャンプする ジャンプアニメーションから上下移動を取り除く 手順 実際の動作 着地時に足がめり込む ジャン…

【Unity】ProBuilder Basicでコーネルボックスを作ってみる

ProBuilder コーネルボックスを作ろう Cubeを作成する Cubeの色を変えよう ノーマルを反転しよう ライトを配置しよう 内側のCubeを配置しよう 完成 参考 ProBuilder 旧Prototype、現ProBuilderという無料のアセットを使用すると、簡単なモデリングが出来るみ…

【Unity】CinemachineのFreeLook Cameraが楽しい

今回はCinemachineのFreeLook Cameraを使ってみます。 CinemachineのFreeLook Camera 見上げる時は視界を狭く、見下ろす時は視界を広く 使ってみる コントローラーを反転させたい 関連 CinemachineのFreeLook Camera カメラの動きを制御するCinemachineのア…

【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っぽい事をしたい ソースコード サンプル 問題 関連 大量のアニメーションとAnim…

【Unity】Cubeを跳ねさせる

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

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

昨日のPlayable APIで書ききれなかった事を少し追記します。 tsubakit1.hateblo.jp 複数のAnimatorに単一のPlayableを流し込む アニメーションの出力先を切り替える Additiveの再生 複数の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に…