読者です 読者をやめる 読者になる 読者になる

テラシュールブログ

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

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

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

【Unity】NavMeshとRigidbodyを連携して動かす

今回はNavmeshで動かすキャラクターを一時的に物理演算で動かしてみます。 UnityのNavmesh(経路探索AI)はNavmeshAgentというPhysicsとは異なった力によって動きます。その為、PhysicsとNavmeshを連携させる場合、少々面倒な事になります。 Navmeshの移動 N…

【Unity】物理演算とAnimationで物を投げてみる

昨日の続きで、物理演算で動くオブジェクトをAnimationの力で投げてみました。 理屈 作業 飛距離は投げる速度次第 関連 理屈 tsubakit1.hateblo.jp 作業 まず投げるオブジェクトを用意しました。回す際にはPivotモードで動かすと楽です。 pivotの中心点と全…

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

試したら出来てしまったので、一応メモします。 物理演算とアニメーション Animationに物理演算の力を追加 実際にやってみる Physics2Dでは少し手法が異なる 関連 物理演算とアニメーション Unityを初めて作った人がよくやる事が、物理演算ベースで作成した…

【Unity】Rigidbody2Dの新しい設定「Dynamic」「Kinematic」「Static」と「Simulated」の使い分け

Unity 5.5からRigidbody2Dの表示が新しくなり、新しいパラメータも追加されました。その内容が凄く分かりにくいので、確認がてらメモします。 「Dynamic」「Kinematic」「Static」 KinematicとUse Full Kinematic Contacts Staticは動かさない、動けない Sim…

【Unity】Rigidbody2Dがスリープになったかどうか確認する

物理演算はスリープしてCPUを節約する 物理演算は複雑な当たり判定と物理的な動作のシミュレーション(再現)を行います。ただゲームのCPUにも限度という物があるため、物理演算はたいてい接触しない・動かないオブジェクトはスリープ状態へ移行する機能を持…

【Unity】物理演算で動かすオブジェクトが壁を貫通する問題と対策

キング・クリムゾン! 『キング・クリムゾン』の能力では、この世の時間は消し飛び・・・・・・そして全ての人間は、この時間の中で動いた足音を覚えていないッ! 当たり判定を弾が貫通する 対策1(補完回数を増やす) 対策2(Collision Detectionを使う) Collis…

【Unity】SphereCastやBoxcastで、球や箱のあたり判定が通過できるか判断する

今回はRaycast以外の判定、SphereCastやBoxcastについてです。 足場に微妙に乗ってる時とRaycast BoxCastとSphereCast BoxCastとSphereCastの死角 関連 足場に微妙に乗ってる時とRaycast ゲームを作っていると、接地判定や落下判定のために「太い線判定」を…

【Unity】コライダーに特定の機能を追加するEffectorで少し遊んでみる

Unity 5で新しく追加された2D向けEffectorで色々と遊んでみました。 Effector Surface Effector 2D Point Effector 2D Area Effector 2D Buoyancy Effector 2D Platform Effector2d Effector Effectorは2Dと付くColliderに対してエフェクトを追加する機能で…

【Unity】Rigidbody2DとJointで、物理パズルみたいなやつ

何となく以前に作ったロケットをRigidbody2Dでリメイクしました。素材やアセット・スクリプトは使用せず、全てアリものだけで作っています。 以前はRigidbody2DのJointにBreakable設定やConstant Force2Dが無かったのでRigidbody2Dでは作れませんでしたが、…

一方通行のコライダーを設定する、Platform Effector 2D #Unity

Platform Effector 2Dは、一方通行の当たり判定が設定できるコライダーのエフェクターです。 例えばマリオやロックマンでよくある、下からの通過は可能だが上から降りた時は止まる、一方からの攻撃は通すが反対からの攻撃は通さない等の挙動が、LayerやTrigg…

Unity5の物理演算で塔を倒壊させる試み

Unity5で物理演算のパフォーマンスが上がったそうなので、Cubeを破壊する奴を作成してみました。赤い玉を白い塔にぶつけて粉砕しているイメージです。 塔を破壊するために行った操作 これは非常に単純な仕組みで実現しています。要するに、CUBEを用意してお…

ユニティちゃんのおっぱいとか髪とかを揺らす仕組みの設定方法について

目次 目次 はじめに 揺れもののギミックについて 揺れる対象の設定 揺れものの順番を制御 スカートや髪のめり込み対策 はじめに 今日はユニティちゃんの髪とか胸とか、そういった揺れものパーツを揺らすギミックについて解説します。 ユニティちゃんライブ公…

プロ生ちゃんの髪やスカートをユニティちゃんの揺れものでセットアップしてみた

ふと思って、プロ生ちゃんをユニティちゃんに使っているシェーダー及び揺れものでセットアプしてみました。実は先週勉強会があり、ちょっと気になっていたのです。 セットアップ済みのプレハブを追加するunitypackageを用意したので、サクッとセットアップ済…

Unityで接触したブロック達を吹っ飛ばす

物理演算的には正しくなくとも、表現的に物体がぶつかった時にふっとばすのはよくある事だ。また爆弾等でふっ飛ばしたい場合もある。そんな時は「周囲のコライダーを全部持ってきて、その中でrigidbodyがあるオブジェクトに対してAddForceを実行」みたいな事…

rigidbodyの落下位置を予測するには…

剛体の落下位置を物理学で予測する。 powerの分だけ左にふっとばす感じのソースコードを用意。rigidbody2dでもrigidbodyでも良い。rigidbody.AddForce(Vector3.left * power, ForceMode.Impulse); もしくは rigidbody2D.AddForce(Vector2.right * -power, Fo…

物理演算のスリープについて

今回は物理演算のスリープについてです。Unityでは動作しないオブジェクトはスリープさせ物理演算の処理をスキップする機能があります。これは単純に動いていない物の物理演算を計算するのは無駄だからです。スリープ状態へは、ある一定の運動量を失った場合…