回転とか移動とか拡大縮小とか
Unity 2018.3以降の場合 Unity 2018.2までのTimelineの座標系の話 AnimationControllerがAnimatorにセットされていれば現在位置から移動、無ければ絶対座標からアニメーションを開始する ApplyTrackOffsetはAnimationControllerの有無で用途が異なる Animati…
対象への角度を「-180~180度」の範囲で求めてみます。 アニメーションで右向き・左向きに曲がるといった際、どちら方向に曲がれば良いのかを求めたいときに使えます。 目次 角度を求める それは何をやっているの? せっかくなので(Root Motionで)向きを変…
今回は小ネタというか、やってみたと言うか…豆腐を跳ねさせるという内容です。 Cubeだって跳ねる とりあえず、跳ぶ! カーブを付ける 豆腐はフルフルする 関連 Cubeだって跳ねる ゲームの仮素材ランキングがあるとしたら、多分ブッチギリで人気No1はCubeでし…
今回はRenderTexturerを使用しつつ、クリックした位置にRayを飛ばし移動させるアプローチについて色々と見てみます。 低解像度なRenderTextureでゲームを描画する Camera.main.ScreenPointToRayがおかしくなる Input.MousePositionの位置を補正してやる 関連…
学生のUnityプロジェクトでよく見るのが、主人公キャラクターが壁から落下したり、壁を貫通して移動したりする光景です。 それは「そういったゲーム」なら兎も角、RPGの移動パートのような「キャラクターを移動させる」事が目的の場合は出来れば避けて欲しい…
昨日に引き続き、キャラクターの向きを変える奴です。今回はマウスの位置ではなく、スティックを倒した方向にキャラクターを向けてみます。 tsubakit1.hateblo.jp スティックを倒した方向にキャラクターを向ける スティックを用意 スティックの方向を向く、…
今回は上から視点で、マウスのある方向にキャラクターを向けようと思います。 マウスの位置にキャラクターの向きを変える サバイバルシューターから学ぶ 地面からColliderを取っ払う 2Dの場合でも同じようにしてみる 2Dって画面だけで向きとれるんじゃね…? …
【問題】上の画像には赤い2本の棒がある。これらは同じメッシュを使用している。これらの棒に影をベイクした際、左の赤い棒にかかる影はハッキリしているが右の棒にかかる影はボケている。このこの違いが発生する理由を記入欄にry。 【答】左の棒はスケー…
HUDのように、UIをキャラクターの上に表示する方法について、少し悩んだのでメモします。 World SpaceとScreen Spaceについて World座標をUIの座標へ変換する World Space を Screen Space Overlayへ World Space を Screen Space Cameraへ World SpaceをWor…
オブジェクトのサイズを一括で変更します。 これは「ゲームのサイズを適正なサイズに設定する」事に特に効果があります。 Unityのボックスの1は1mとして扱われています。このため、物理演算を2dチックなゲームに組み込むと動きが「ふわっと」や「モッサリ」…
MMDモデルをRoot移動の無い、独自のモーションで走らせる方法についてです。この記事は以前に書いたUnity内でMMDモデルを自由に走らせる手軽な方法 の続き的な位置づけです。 目次 目次 MMDモデルおよびモーションの登録 RootMotionとアニメーション スクリ…
Unityエディタでオブジェクトを操作する上で、知っておくと少しだけ幸せになれるTipsを幾つか紹介します。個人的に重要と思うものには★を設定しました。 目次 目次 オブジェクトの操作に関するTips コライダーの上に載せる感じで配置する Vキー&移動で他モ…
先日ゲームジャムでメンバーの一人が「3Dモデルを特定の位置に移動」させる事に四苦八苦していたので、作った。スクリプトを。 このスクリプトは指定したスクリーン座標へモデルを移動させる為の物です。スクリーン座標的に(x:45, y:0)の位置へモデルを移…
今回は簡単なモデルビューワーを作ります。 機能は単純にモデルを外から眺めるだけ。 今回もSample Assetsを使用します。 新 Standard Assets候補、Sample Assets (beta) - テラシュールブログ 新 Standard Assets候補、Sample Assets (beta) - テラシュール…
Quaternionでベクトルを回す Quaternionの加算 Quaternionを求める サンプル その他 Quaternionは回転情報です。transform.rotationに格納されています。 このQuaternion(回転)ですが、Vector3(ベクトル)と合わせると、Vector3を回転させる事ができます…
目次 目次 3つの座標系 スクリーン座標 ワールド座標 ビューポート座標 各座標系を使用するケースと変換 WorldToViewportPoint ScreenToWorldPoint ViewportToWorldPoint 関連 3つの座標系 Unityの使用するカメラでは、3つの座標系があります。すなわち「ス…
物理演算的には正しくなくとも、表現的に物体がぶつかった時にふっとばすのはよくある事だ。また爆弾等でふっ飛ばしたい場合もある。そんな時は「周囲のコライダーを全部持ってきて、その中でrigidbodyがあるオブジェクトに対してAddForceを実行」みたいな事…
意外と知られていないことだが、シーンビューからオブジェクトを選択不可にする方法は2つある。一つ目はHierarchyViewから非表示にしてしまうこと。例えばLockObjectのように、アタッチしたオブジェクトの子オブジェクトを非表示にする事で、特定階層から下…
剛体の落下位置を物理学で予測する。 powerの分だけ左にふっとばす感じのソースコードを用意。rigidbody2dでもrigidbodyでも良い。rigidbody.AddForce(Vector3.left * power, ForceMode.Impulse); もしくは rigidbody2D.AddForce(Vector2.right * -power, Fo…
Unityの親子構造では、子は親の影響を受ける。つまり、親のスケールが(2,1,1)みたいな場合、子は(1,1,1)でも実際は(2,1,1)のようになる。ただ稀に、親のサイズ比率の影響を受けたくない場合がある。例えば親オブジェクトを引き伸ばした状態で文字を置く等々…