UnityRigidbodyの中で、物体の回転に対する抵抗を設定できるのがAngularDrag。今回はそのAngularDragの値を変化させて運動への影響を確認します。SierraUnity2018.1.0f24月末にUnity2018が出てたので早速使ってみました。RigidbodyについてRigidbodyのアタッチ方法や各設定項目の説明は、以下の記事で解説しています。pocket【Unity】Rigidbodyの各パラメータは何に使われているの?【解説】https://ekulabo.com/check-rigidbodyパラメータが多く、混乱しがちなRigidbodyについて、各パラメータの意味や用例を解説しています。Unityを使う上でRigidbodyをアタッチする場面も多いので、基本部分から確認したい方におすすめ。言うと、Unityで物理演算を使うために必要なコンポーネントです。今回はその中でもAngularDrag(回転の抵抗)がテーマ。RigidbodyのパラメータAngularDrag(回転の抵抗)についてAngularは「角度に関する」といった意味、Dragは「抵抗」とか、「引きずる」といった意味の言葉。Unity的には、回転に対する抵抗として使われます。Angularの付いていないDragの方は、位置の変動に関する運動に対しての抵抗でした。AngularDragは、位置の変動にはノータッチだけども回転に関して抵抗を定義します。回っているオブジェクトの回転が、だんだんと緩やかになるイメージです。値を大きくすればするほど、減衰が大きくなります。設定値は無限大まで入力できますが、無限大にしたからといってすぐ止まるわけではありません。すんごい細かい話ですが、Unityのマニュアルのプロパティ説明で項目名が『LinearDrag』になっています。実際の設定はAngularDragが正しいので、初見ではビビるかも。物理特性マテリアルを使うと摩擦力を設定できますが、地面の上をボールが転がるときには摩擦力が働いてくれません。接してる面が小さすぎるからでしょうか。ボールの回転を減衰させることで、擬似的に摩擦力っぽい表現ができます。用意したボールは以下の6種類。10angularDrag以外の値はRigidbodyをアタッチした時のデフォルトのものになっています。massはみんな1で、dragは0です。質量や抵抗の時と同じように、ボタンを押すと全てのボールに同じ力が加わり、運動を開始するシーンを作って比較してみました。ForceModeはImpulseとし、加えた力の大きさは画面左上に表示しています。転がるボールのAngularDrag物理特性マテリアルによる摩擦力が働いてくれないSphereオブジェクトでも、angularDragによって回転を減衰させ、運動を停止させることができました。値が小さければ止まりにくくなり、大きければ止まりやすくなります。angularDragが0だと止まらずにそのまま転がっていきます。斜方投射の時のangularDrag斜方投射のケースも見てみましょ。AddForceで力を加えるときには、回転は付与されません。斜方投射ではボールが地面に接触するまで減衰がないことに。地面に接触するまではangularDragの値によらず横並び、接触後はangularDragの値に応じて減衰するはず。斜方投射のAngularDragうんうん、いい感じいい感じ。転がってからの減衰は、上記の転がる時の動きと同じになってます。トルクの減衰angularDragの本領といえば回転の減衰。今度は、立方体に回転を与え、その回転がangularDragによってどの程度減衰するのか見てみましょ。回転を与える方法としてRigidbodyのAddTorqueを使います。AddForceと似ていて、こちらはトルクを加えるメソッド。トルクは回転軸の周りにおける力のモーメントです。Unity的には、物体を回転させる力の大きさと向き、と考えておけばいいかな。トルクが大きければよく回転しますし、トルクが小さければ回転も小さくなります。今回は細かい話は抜きにして、とにかく立方体を回転させ、angularDragによって減衰する様子を眺めてみましょ。回転の減衰......GIFがちょっと汚くなってますね。回転によって光の当たり方が変わり、それに伴って色も変化するため色数が足りなくなってます。本題ですが、この例では質量を揃えてあるので、angularDragのみ影響するようになっています。0のように回転するはず。そんな中、値が大きいオブジェクトほどすぐに回転が止まっています。10とか即停止レベル。angularDragの影響は結構大きいですね。上記のように、空中にあるオブジェクトを回転させ、angularDragによって減衰させる例を考えてみると、アクションゲームの中間ポイントの演出などに使えそう。キャラクターがオブジェクトに触れたらAddTorqueで回転させて、angularDragによって自動的に停止させる感じで。メインのオブジェクトに使うよりは、背景のオブジェクトに使うのがいいかな。背景なら風力発電してる感じを出してもいいかも。一定時間おきにランダムでトルクを加えていけば、背景で風が吹いたような演出も可能です。まとめRigidbodyのangularDragを変化させる実験でした。回転に対する抵抗なので、オブジェクトが回転していない時には関係のない値です。dragは位置の移動に関する抵抗、angularDragは回転に対する抵抗と、使い分けが大事ですね。ゲーム開発の攻略チャートを作りました!「ゲームを作ってみたいけど、何から手を付けていいか分からない!」そんなお悩みをお持ちの方向けに、todoがアプリをリリースした経験を中心に、ゲーム作りの手順や考慮すべき点をまとめたe-bookを作成しました。ゲーム作りはそれ自体がゲームのように楽しいプロセスなので、「攻略チャート」と名付けています。投稿一覧Unityを使ってアプリを作ったり、Assetを作ったりしてる個人開発者。Unity全般ネタとAsset開発の情報を扱っています。Asset開発は日本語の情報が少ないのよね。ことで些細なネタでも情報を蓄積するのが目的です。2018.05.17UnityのRigidbodyで設定できるConstraints(制限)について、値を変えると物体の運動がどのように変化するのかを実験しています。2018.05.31UnityでRigidbodyを扱う際、衝突検知モードを選択することができます。2018.05.12UnityのRigidbodyで設定できるMass(質量)について、値を変えると物体の運動がどのように変化するのかを実験しています。2018.05.16UnityのRigidbodyで設定できるInterpolate(補間)について、値を変えると物体の運動がどのように変化するのかを実験しています。2018.05.14UnityのRigidbodyで設定できるDrag(抵抗)について、値を変えると物体の運動がどのように変化するのかを実験しています。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。todoUnityのアセットを作ったり、スマホ向けのアプリを作っています。このブログではUnity初心者に向けたチュートリアルやテクニックを放出しています。詳しいプロフィールはこちら。お仕事の相談や現在提供中のサービスについては、こちらの『サービス内容』のページをご覧ください。Explorers_todoオンライントレーニングのサイトをオープン!エクスプラボを運営しているtodoが、より集中的にゲーム作りについて学べるオンライントレーニングのサイトをオープンしました。エクスプラボのトレーニングルーム』です。勉強したことの進捗も表示できるようになっているので、どれだけ頑張ったのかが分かるようになっています。ゲーム開発の攻略チャート』というe-bookをプレゼントしています。メルマガではゲーム開発のテクニックを中心に役立つ情報をお届けします。詳しくはこちら!お仕事の依頼はこちら!ゲーム開発のサポートも可能!エクスプラボではゲーム開発のサポートのサービスも行なっています。いう場合にオススメのプランです。普通に開発依頼をいただいてもOKです。【Unity】ポストプロセシングを使って簡単にプロっぽいゲーム画面を作るゲームの作り方を学べるオンライン講座のサイトをオープンしました!【ゲーム開発】ゲーム開発者こそ体を動かしてアイディアを出すべきRANKING【Unity】Mathfの切り上げ、切り捨て、偶数丸め。使い分けが大事よねMathf【Unity】ゲームといえばランダム要素。(12)作ったアプリ空とにゃんこと風船と癒し系縦スクロール避けゲーの『空とにゃんこと風船と』(TODOWORKS名義でリリース)気軽に遊べるスマートフォン向けアプリです。ボクセルアートで彩られるどこかレトロ、でも新しい世界で癒されてみませんか?ぼく、猫ですって!タップ系RPG『ぼく、猫ですって!』(TODOWORKS名義でリリース)気軽に遊べるスマホRPG。