フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他
次スレは>>950以降にできるだけ早く(できれば回答者が回答した後にでも余裕を持って)建てて下さい。
■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/
●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・マニュアル
http://docs.unity3d.com/ja/current/Manual/index.html
・チュートリアル
http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
http://unity3d.com/jp/unity/faq
・MSDN
http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
前スレ
【3Dゲームエンジン】Unity質問スレッド31
https://mevius.5ch.net/test/read.cgi/gamedev/1504366121/
探検
【3Dゲームエンジン】Unity質問スレッド32
レス数が1000を超えています。これ以上書き込みはできません。
1名無し@キムチ
2017/10/30(月) 05:05:35.00ID:xnHTCaF3952名前は開発中のものです。
2017/12/18(月) 23:11:37.88ID:x75jC3YN 2DはLookAtが使えなくて今まで諦めてたけど、
まさかtransform.rightやtransform.upに直接代入して、
LookAtもどきができるとは、凄く役になったな〜
タイルチップで2D背景を作ってたけど、
左右移動時にタイルのつなぎ目で引っかかるから、
高さが同じタイルは、colliderを統合して、
高さが変わるところだけ、別colliderにしてたけど、
これからは、タイルチップ敷布でいけそうだな〜
まさかtransform.rightやtransform.upに直接代入して、
LookAtもどきができるとは、凄く役になったな〜
タイルチップで2D背景を作ってたけど、
左右移動時にタイルのつなぎ目で引っかかるから、
高さが同じタイルは、colliderを統合して、
高さが変わるところだけ、別colliderにしてたけど、
これからは、タイルチップ敷布でいけそうだな〜
953名前は開発中のものです。
2017/12/19(火) 00:07:08.24ID:4Od9SmbT ネトウヨ老害死ねばいいのに
ゲ製コミュの印象悪くして皆の足引っ張りやがって
死ねよ不細工メタボ引き篭もりネトウヨ
ゲ製コミュの印象悪くして皆の足引っ張りやがって
死ねよ不細工メタボ引き篭もりネトウヨ
954名前は開発中のものです。
2017/12/19(火) 00:27:04.18ID:MvhMRTwq まーた、ネトウヨキムチがコミュとか言っちゃって
955名前は開発中のものです。
2017/12/19(火) 03:06:23.03ID:Ih0Nk694 一応言っておきますが>>946は自分じゃないですよ…
回答頂いた方には皆感謝してます。
回答頂いた方には皆感謝してます。
956955=944
2017/12/19(火) 03:07:20.95ID:Ih0Nk694 名前欄ということです。すみません。
957名前は開発中のものです。
2017/12/19(火) 07:37:16.79ID:4Od9SmbT958名前は開発中のものです。
2017/12/19(火) 09:35:09.05ID:VZwsAqll なんか面倒な人に絡まれてるなぁ955
新スレ作るか。
新スレ作るか。
959名前は開発中のものです。
2017/12/19(火) 09:36:44.16ID:VZwsAqll960名前は開発中のものです。
2017/12/19(火) 10:04:53.30ID:4Od9SmbT なぜ <準コテ「キムチ」で「キムヨナ」連呼> みたいなゴミを、素朴に「ゴミ」と言うことや
ぱっと見で文体が同じに見えることを、素朴に「同じに見える」「一方が真似てる」と言うことが
面倒がられなければならないのか?
素朴な書き込みを面倒がり、ゴミ廃棄を面倒がる奴の方が、よっぽど面倒だぜ?
ぱっと見で文体が同じに見えることを、素朴に「同じに見える」「一方が真似てる」と言うことが
面倒がられなければならないのか?
素朴な書き込みを面倒がり、ゴミ廃棄を面倒がる奴の方が、よっぽど面倒だぜ?
961名前は開発中のものです。
2017/12/19(火) 10:13:49.21ID:hldyKkrz unityにマップを作るtile機能ってあるけど一つのチップセットに対してBoxColliderとかの情報を付けるのってどうすればええんやろ
962名前は開発中のものです。
2017/12/19(火) 12:04:43.40ID:m7Eb2COO >>961
アセットをかうしか無いですよ!
アセットをかうしか無いですよ!
963名前は開発中のものです。
2017/12/19(火) 14:27:52.29ID:SpU5jUlI >>950
正解
正解
964名前は開発中のものです。
2017/12/19(火) 15:16:13.61ID:ZiJMGaxN キチガイがいると迷惑だから分類しないとね
965名前は開発中のものです。
2017/12/19(火) 15:56:19.98ID:O0snqTpx966名前は開発中のものです。
2017/12/19(火) 16:33:46.69ID:4R8uUpaI アセットガイジはなんか売ってるんかなぁ…
967名前は開発中のものです。
2017/12/19(火) 18:11:13.26ID:OC9tHkfS >>952
むしろ2DでLookAtさせたいだけならオブジェクトAとBの角度を取って画像をRotateさせるだけでいいんじゃないん?w
むしろ2DでLookAtさせたいだけならオブジェクトAとBの角度を取って画像をRotateさせるだけでいいんじゃないん?w
968名前は開発中のものです。
2017/12/19(火) 19:22:46.77ID:Jz5wVrA6 >>967
そんな難しいことしたくないじゃん
そんな難しいことしたくないじゃん
969名前は開発中のものです。
2017/12/19(火) 19:29:46.21ID:oc7hao2D970名前は開発中のものです。
2017/12/19(火) 19:59:39.02ID:IygWzju3 >>969
オブジェクト間の角度とる関数あるからしらべて
オブジェクト間の角度とる関数あるからしらべて
971名前は開発中のものです。
2017/12/19(火) 20:25:38.60ID:v4JsSdmj ベクトル間の角度を出す関数じゃなくて?
ベクトル間の角度だと、原点を中心にした角度になるけど
しかも、それで角度を出すと回転の向きがわからないから、
ベクトルの外積を求める必要もあるよね
ベクトル間の角度だと、原点を中心にした角度になるけど
しかも、それで角度を出すと回転の向きがわからないから、
ベクトルの外積を求める必要もあるよね
972名前は開発中のものです。
2017/12/19(火) 22:09:39.44ID:v4JsSdmj >>967
自分でコードを出してみなよ〜
命題:オブジェクトAの向きを、オブジェクトBの方向へ向ける
オブジェクトAの座標は任意(原点とは限らない)
オブジェクトAの向きは任意(0度とは限らない)
オブジェクトBの座標は任意(原点とは限らない)
オブジェクトBの位置はVector3で「target」とする
2Dだから、forward軸をtargetへ向かせるLookAtは使用できない
さて、969のコードを超える簡略化ができるのか?!どうか
自分でコードを出してみなよ〜
命題:オブジェクトAの向きを、オブジェクトBの方向へ向ける
オブジェクトAの座標は任意(原点とは限らない)
オブジェクトAの向きは任意(0度とは限らない)
オブジェクトBの座標は任意(原点とは限らない)
オブジェクトBの位置はVector3で「target」とする
2Dだから、forward軸をtargetへ向かせるLookAtは使用できない
さて、969のコードを超える簡略化ができるのか?!どうか
973名前は開発中のものです。
2017/12/19(火) 22:16:40.59ID:m7Eb2COO アセットを購入すれば簡単簡単
974名前は開発中のものです。
2017/12/19(火) 22:17:29.27ID:v4JsSdmj そもそも角度って言っても、
それぞれのベクトルの偏角なのか、2つのベクトルのなす角なのか・・・
Rotate(0, 0, θ)で入れるには、
オブジェクトAからオブジェクトBへ向かうベクトルの偏角じゃないとダメだから、
オブジェクトAのベクトルとオブジェクトBのベクトルのなす角を求める
Vector3.Angleを使っても、それじゃA→Bへの原点中心の公転角になっちゃうよ!
rotationに入れるにはQuaternionである必要があるし、
オブジェクトAの最初の向きが0度じゃない場合も考慮しないといけないし・・・
どう考えても面倒じゃない??
それぞれのベクトルの偏角なのか、2つのベクトルのなす角なのか・・・
Rotate(0, 0, θ)で入れるには、
オブジェクトAからオブジェクトBへ向かうベクトルの偏角じゃないとダメだから、
オブジェクトAのベクトルとオブジェクトBのベクトルのなす角を求める
Vector3.Angleを使っても、それじゃA→Bへの原点中心の公転角になっちゃうよ!
rotationに入れるにはQuaternionである必要があるし、
オブジェクトAの最初の向きが0度じゃない場合も考慮しないといけないし・・・
どう考えても面倒じゃない??
975名前は開発中のものです。
2017/12/19(火) 22:59:56.79ID:v4JsSdmj アセットおじさんは、
なんていうアセットで、いくらで、どの機能を使うとできるのかも明記して欲しいね〜
「探せばあるかもよ」じゃね・・・
なんていうアセットで、いくらで、どの機能を使うとできるのかも明記して欲しいね〜
「探せばあるかもよ」じゃね・・・
976名前は開発中のものです。
2017/12/20(水) 00:34:43.35ID:TUVA4DF6 >>969
考えてみました。
Aに下記のスクリプトをセットします。
public class A : MonoBehaviour {
GameObject obj;
Vector3 target, position, direction;
void Start () {
obj = GameObject.Find ("B");
target = obj.transform.position;
position = transform.position;
direction = target - position;
Invoke ("Rotate", 1.0f);
}
void Rotate(){
transform.right = direction; ←ここを置き換えるコードです。
}
}
考えてみました。
Aに下記のスクリプトをセットします。
public class A : MonoBehaviour {
GameObject obj;
Vector3 target, position, direction;
void Start () {
obj = GameObject.Find ("B");
target = obj.transform.position;
position = transform.position;
direction = target - position;
Invoke ("Rotate", 1.0f);
}
void Rotate(){
transform.right = direction; ←ここを置き換えるコードです。
}
}
977名前は開発中のものです。
2017/12/20(水) 00:39:41.23ID:TUVA4DF6 @Quaternion.FromToRotationを使用する方法1
transform.rotation = Quaternion.FromToRotation (Vector3.right, direction);
AQuaternion.FromToRotationを使用する方法2
transform.rotation = transform.rotation * Quaternion.FromToRotation (transform.right, direction);
BVector3.Angleを使用する方法1
transform.rotation = Quaternion.Euler(0, 0, Mathf.Sign(Vector3.Dot(Vector3.forward, Vector3.Cross(Vector3.right, direction))) *Vector3.Angle(Vector3.right, direction));
CVector3.Angleを使用する方法2
transform.rotation = transform.rotation * Quaternion.Euler(0, 0, Mathf.Sign(Vector3.Dot(transform.forward, Vector3.Cross(transform.right, direction))) *Vector3.Angle(transform.right, direction));
transform.rotation = Quaternion.FromToRotation (Vector3.right, direction);
AQuaternion.FromToRotationを使用する方法2
transform.rotation = transform.rotation * Quaternion.FromToRotation (transform.right, direction);
BVector3.Angleを使用する方法1
transform.rotation = Quaternion.Euler(0, 0, Mathf.Sign(Vector3.Dot(Vector3.forward, Vector3.Cross(Vector3.right, direction))) *Vector3.Angle(Vector3.right, direction));
CVector3.Angleを使用する方法2
transform.rotation = transform.rotation * Quaternion.Euler(0, 0, Mathf.Sign(Vector3.Dot(transform.forward, Vector3.Cross(transform.right, direction))) *Vector3.Angle(transform.right, direction));
978名前は開発中のものです。
2017/12/20(水) 00:44:36.57ID:TUVA4DF6 DVector3.Angleを使用する方法3(Rotateを使用)
transform.Rotate (0, 0, Mathf.Sign(Vector3.Dot(Vector3.forward, Vector3.Cross(transform.right, direction))) *Vector3.Angle(transform.right, direction));
EMathf.Atan2を使用する方法1(Rotateを使用)
transform.Rotate (0, 0, Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg - transform.rotation.eulerAngles.z);
FMathf.Atan2を使用する方法2
transform.rotation = Quaternion.AngleAxis(Mathf.Atan2((direction.y, direction.x) * Mathf.Rad2Deg, Vector3.forward);
うーん、どうやっても元よりも長いコードになってしまいます。
オブジェクトAの位置が原点だとか、オブジェクトAの向きが無回転だとか、
条件を付ければ、もう少し簡略化できますが・・・
transform.Rotate (0, 0, Mathf.Sign(Vector3.Dot(Vector3.forward, Vector3.Cross(transform.right, direction))) *Vector3.Angle(transform.right, direction));
EMathf.Atan2を使用する方法1(Rotateを使用)
transform.Rotate (0, 0, Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg - transform.rotation.eulerAngles.z);
FMathf.Atan2を使用する方法2
transform.rotation = Quaternion.AngleAxis(Mathf.Atan2((direction.y, direction.x) * Mathf.Rad2Deg, Vector3.forward);
うーん、どうやっても元よりも長いコードになってしまいます。
オブジェクトAの位置が原点だとか、オブジェクトAの向きが無回転だとか、
条件を付ければ、もう少し簡略化できますが・・・
979名前は開発中のものです。
2017/12/20(水) 01:00:49.24ID:TUVA4DF6 Quaternion.FromToRotation(A, B)では、
回転方向を含めた回転状態を得られますが、
Vector3.Angle(A, B)では、
ベクトル間の角度しかわからず、向きがわかりません。
また、取得される角度は180度以下に限定されるため、
左向きに270度は、右向きに90度かもしれないということです。
回転方向は、Vector3.Cross(A, B)のZ成分が正か負かで判定します。
2Dでは、Mathf.Sign((Vector3.Cross(A, B)).z)でも良いのですが、
3Dでは、回転面がXY平面上とは限らないため、外積ベクトルと
正の向きにしたい軸との内積をとってから符号判定した方が確実です。
Atan2関数は、戻り値がradのため、度に直す必要があります。
また、相対回転であるRotateを使用する場合は、
求めた偏角から、現在の向きの回転角を引いておく必要があります。
rotationはQuaternionのため、eulerAnglesでオイラー角に戻しておき、
Z軸回転成分だけを取り出して減算します。
回転方向を含めた回転状態を得られますが、
Vector3.Angle(A, B)では、
ベクトル間の角度しかわからず、向きがわかりません。
また、取得される角度は180度以下に限定されるため、
左向きに270度は、右向きに90度かもしれないということです。
回転方向は、Vector3.Cross(A, B)のZ成分が正か負かで判定します。
2Dでは、Mathf.Sign((Vector3.Cross(A, B)).z)でも良いのですが、
3Dでは、回転面がXY平面上とは限らないため、外積ベクトルと
正の向きにしたい軸との内積をとってから符号判定した方が確実です。
Atan2関数は、戻り値がradのため、度に直す必要があります。
また、相対回転であるRotateを使用する場合は、
求めた偏角から、現在の向きの回転角を引いておく必要があります。
rotationはQuaternionのため、eulerAnglesでオイラー角に戻しておき、
Z軸回転成分だけを取り出して減算します。
980名前は開発中のものです。
2017/12/20(水) 08:42:36.26ID:XTZUI7pU981名前は開発中のものです。
2017/12/20(水) 18:29:13.04ID:XTZUI7pU 汎用性を考えると、Quaternion.FromToRotationは良さそうですね
これは、あるベクトルを別のベクトルにする回転を返すわけだから、
自分の向きを、自分のベクトルから目標とするベクトルへ向ける回転にするわけですか・・・
これは、あるベクトルを別のベクトルにする回転を返すわけだから、
自分の向きを、自分のベクトルから目標とするベクトルへ向ける回転にするわけですか・・・
982名前は開発中のものです。
2017/12/20(水) 22:49:28.74ID:TUVA4DF6 >>980
テラシュールブログ
http://tsubakit1.hateblo.jp/entry/2014/08/02/030919
ここに、Quaternion.FromToRotationの使い方がうまくまとまってました。
>>var diff = (target.position - transform.position ).normalized;
>>transform.rotation = Quaternion.FromToRotation( Vector3.up, diff);
このサイトでは、diffは正規化されているようですが、
基本的に内部で強制的に単位ベクトルになるようなので、
target.position - transform.positioだけで大丈夫そうです。
なお、外積ベクトルを利用する場合は、大きさも影響してきますので、
方向ベクトルは単位ベクトルにしておいたほうが無難です。
テラシュールブログ
http://tsubakit1.hateblo.jp/entry/2014/08/02/030919
ここに、Quaternion.FromToRotationの使い方がうまくまとまってました。
>>var diff = (target.position - transform.position ).normalized;
>>transform.rotation = Quaternion.FromToRotation( Vector3.up, diff);
このサイトでは、diffは正規化されているようですが、
基本的に内部で強制的に単位ベクトルになるようなので、
target.position - transform.positioだけで大丈夫そうです。
なお、外積ベクトルを利用する場合は、大きさも影響してきますので、
方向ベクトルは単位ベクトルにしておいたほうが無難です。
983名前は開発中のものです。
2017/12/20(水) 22:56:36.28ID:TUVA4DF6 なお、私の方法では、外積ベクトルとZ軸の内積をとっていますが、
最終的に符号のみを取り出しているので、大きさが影響しません。
Vector3.Reflect,Vector3.Project,Vector3.ProjectOnPlaneなど、
単位ベクトルに内積を乗算するタイプの関数では、
必ず正規化して単位ベクトルにしてから代入しないと、
計算結果が変わってきますので、注意が必要です。
最終的に符号のみを取り出しているので、大きさが影響しません。
Vector3.Reflect,Vector3.Project,Vector3.ProjectOnPlaneなど、
単位ベクトルに内積を乗算するタイプの関数では、
必ず正規化して単位ベクトルにしてから代入しないと、
計算結果が変わってきますので、注意が必要です。
984名前は開発中のものです。
2017/12/21(木) 12:35:15.03ID:rQmWRShb /⌒ヽ
く/・ ⌒ヽ すうがくのことわからない
| 3 (∪ ̄]
く、・ (∩ ̄]
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
く/・ ⌒ヽ すうがくのことわからない
| 3 (∪ ̄]
く、・ (∩ ̄]
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
985名前は開発中のものです。
2017/12/21(木) 13:03:49.54ID:nBeZymLn 算数だぞ。
986名前は開発中のものです。
2017/12/21(木) 14:22:23.93ID:8qhc65N4 確実に高校数学
中学算数でベクトルは習わない(特定進学校は除く)
中学算数でベクトルは習わない(特定進学校は除く)
987名前は開発中のものです。
2017/12/21(木) 14:52:32.83ID:nBeZymLn988名前は開発中のものです。
2017/12/21(木) 17:37:17.76ID:mWsXZ6ft 年がいくつでも何処からでも学べるんちゃうんか
989名前は開発中のものです。
2017/12/21(木) 17:41:22.45ID:ogJEBcpf 年寄りは観念が固まってるから、4*4=4+4+4+4とか切り口を変えた柔軟な発想が出来ない
990名前は開発中のものです。
2017/12/21(木) 17:49:58.06ID:uW9gzElK 柔…軟…???
991名前は開発中のものです。
2017/12/21(木) 18:12:39.26ID:p4DyS94v なんだかんだと言ってもITはそれなりの頭がないと出来ない
中学、高校で数学が苦手だった奴にプログラミングはむかない
そんな理由で糞IT専門学校卒の底辺IT奴隷だって素質があって他の業種からみれば高給与
まあ糞IT専門学校に逝っても半分以上は素質がなくて資格も取れずIT関連企業にも就職できないんだけど
中学、高校で数学が苦手だった奴にプログラミングはむかない
そんな理由で糞IT専門学校卒の底辺IT奴隷だって素質があって他の業種からみれば高給与
まあ糞IT専門学校に逝っても半分以上は素質がなくて資格も取れずIT関連企業にも就職できないんだけど
992名前は開発中のものです。
2017/12/21(木) 18:43:55.99ID:d8WQwc80 Unityのプログラムを、コピペじゃなくて、
自分で考えて、組み立ててコードを書けるってことは、
それなりに数学的な素養があると思うんだよね〜
何も行列とかクォータニオンとかを数学的にきちんと理解していなくても、
「そのメソッドで何ができるか」を理解していれば、
たとえメソッドの内部はブラックボックスでも、それを組み合わせて、
ちゃんと機能するコードが書けるから・・・
ある意味、クラスによるカプセル化と一緒で、
オブジェクト指向の根幹になるんじゃないかな?
自分で考えて、組み立ててコードを書けるってことは、
それなりに数学的な素養があると思うんだよね〜
何も行列とかクォータニオンとかを数学的にきちんと理解していなくても、
「そのメソッドで何ができるか」を理解していれば、
たとえメソッドの内部はブラックボックスでも、それを組み合わせて、
ちゃんと機能するコードが書けるから・・・
ある意味、クラスによるカプセル化と一緒で、
オブジェクト指向の根幹になるんじゃないかな?
993名前は開発中のものです。
2017/12/21(木) 18:52:38.72ID:d8WQwc80 もちろん、そのクラスや構造体の中で、
「数学的に何が行われているのか?」を理解していれば、
それを応用して、別のクラスを作ったり、
他の処理に応用することができるようになるとは思うけど・・・
3D処理(描画じゃなくて動作)で必要なのは、
ベクトル、行列、複素数の拡張であるクォータニオン、
極座標、関数(特に、三角関数)、初等幾何学、
古典物理学(力学)くらいじゃないかな・・・
Unityでは、行列は基本内部処理だけで表に出ないから、
高校の数学UBくらいまでのレベルじゃなかろうか?
「数学的に何が行われているのか?」を理解していれば、
それを応用して、別のクラスを作ったり、
他の処理に応用することができるようになるとは思うけど・・・
3D処理(描画じゃなくて動作)で必要なのは、
ベクトル、行列、複素数の拡張であるクォータニオン、
極座標、関数(特に、三角関数)、初等幾何学、
古典物理学(力学)くらいじゃないかな・・・
Unityでは、行列は基本内部処理だけで表に出ないから、
高校の数学UBくらいまでのレベルじゃなかろうか?
994名前は開発中のものです。
2017/12/21(木) 19:26:27.42ID:J5wOBApL995名前は開発中のものです。
2017/12/21(木) 20:31:14.43ID:MUjb87iC そんなんいらね。
三角関数を何となく使えるぐらいで十分。
あとはunityがやってくれる。
三角関数を何となく使えるぐらいで十分。
あとはunityがやってくれる。
996名前は開発中のものです。
2017/12/21(木) 20:41:57.83ID:m2pWnfBj997名前は開発中のものです。
2017/12/21(木) 20:52:09.10ID:m2pWnfBj 例えば、物理演算を使用する場合、Unityで設定できるのは、
速度velocityと力AddForce、角速度angularVelocityとトルクTorqueだけです。
(位置positionや角変位rotationは原則いじらないほうが良いです)
すると、直線移動や自転だけなら設定が簡単ですが、
公転のような円運動を行うには、物理法則に準じた命令を与える必要があります。
物理演算では、transform.RotateAroundを使えないので、
そういう場合に自分で工夫して実装できるかどうかに関わってくると思います。
速度velocityと力AddForce、角速度angularVelocityとトルクTorqueだけです。
(位置positionや角変位rotationは原則いじらないほうが良いです)
すると、直線移動や自転だけなら設定が簡単ですが、
公転のような円運動を行うには、物理法則に準じた命令を与える必要があります。
物理演算では、transform.RotateAroundを使えないので、
そういう場合に自分で工夫して実装できるかどうかに関わってくると思います。
998名前は開発中のものです。
2017/12/22(金) 00:21:49.04ID:ko83+b2p 一番とっつきにくいのは回転運動だと思います。
Rigidbodyでは、ForceMode.Accelerationがあるので、
加速度Vector3 a(m/s/s)を得たい場合は、
AddForce(a, ForceMode.Acceleration)とするだけ、
角加速度Vector3 aa(rad/s/s)を得たい場合は、
AddTorque(aa, ForceMode.Acceleration)とするだけですが、
Rigidbody2Dでは、ForceMode.Accelerationがないので、
加速度Vector2 a(m/s/s)を得たい場合は、
AddForce(a * mass)としたり、
角加速度float aa(度/s/s)を得たい場合は、
AddTorque(aa * inertia * Mathf.Deg2Rad)とする必要があります。
要するに、ニュートンの運動方程式や、
オイラーの回転運動方程式を使う必要が出てきます。
速度は、2DはVector2 v(m/s)、3DはVector3 v(m/s)で分かりやすいですが、
角速度は、2Dはfloat w(度/s)、3DはVector3 w(rad/s)と単位が変わります。
Torqueではrad単位で入れないと、inertiaと乗算できないので面倒です。
Rigidbodyでは、ForceMode.Accelerationがあるので、
加速度Vector3 a(m/s/s)を得たい場合は、
AddForce(a, ForceMode.Acceleration)とするだけ、
角加速度Vector3 aa(rad/s/s)を得たい場合は、
AddTorque(aa, ForceMode.Acceleration)とするだけですが、
Rigidbody2Dでは、ForceMode.Accelerationがないので、
加速度Vector2 a(m/s/s)を得たい場合は、
AddForce(a * mass)としたり、
角加速度float aa(度/s/s)を得たい場合は、
AddTorque(aa * inertia * Mathf.Deg2Rad)とする必要があります。
要するに、ニュートンの運動方程式や、
オイラーの回転運動方程式を使う必要が出てきます。
速度は、2DはVector2 v(m/s)、3DはVector3 v(m/s)で分かりやすいですが、
角速度は、2Dはfloat w(度/s)、3DはVector3 w(rad/s)と単位が変わります。
Torqueではrad単位で入れないと、inertiaと乗算できないので面倒です。
999名前は開発中のものです。
2017/12/22(金) 02:24:21.72ID:BHuKTyia オイラーは、ドラマー♪
1000名前は開発中のものです。
2017/12/22(金) 10:39:11.64ID:GTvlornd 10年は 夢のよう
100年は 夢また夢
1000年は 一瞬の光の矢
過ぎてく時間は怖くない
輝きを失う事が嫌なのです
100年は 夢また夢
1000年は 一瞬の光の矢
過ぎてく時間は怖くない
輝きを失う事が嫌なのです
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 53日 5時間 33分 36秒
新しいスレッドを立ててください。
life time: 53日 5時間 33分 36秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【実況】博衣こよりのえちえち朝こよ🧪 ★2
- 【実況】博衣こよりのえちえち朝こよ🧪
- カカロット、腰痛い
- 結局松本人志ノーダメージじゃん
- 【!?】高市早苗「靖国神社電撃参拝プラン」浮上!これもう戦争だろ… [481941988]
- 今朝も阿佐ヶ谷に住みたくて咽び泣いてる😭
