フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートは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:xnHTCaF3979名前は開発中のものです。
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を超えています。これ以上書き込みはできません。
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★5 [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★4 [BFU★]
- 小野田氏、”中国経済への依存“に警戒感 高市首相の国会答弁巡り [煮卵★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 日本が「世界で最も魅力的な国」1位に!✨「魅力的な都市」では東京が2位 「魅力的な地域」は北海道が7位に [煮卵★]
- 資さんうどんとかいいから「290円博多ラーメン膳」を全国展開しろよ。高市物価の反逆者だろ [153490809]
- 石破当時首相「高市を首相にしたら日中関係ぶち壊される、台湾有事を避ける為に米中には自分が話を付けたい」これネトウヨは笑うらしいな [152212454]
- 日本人「気分はもう戦争」 [667744927]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 日本が社会保障で財政破綻すれば政治家の責任、戦争で敗戦すれば国民とマスコミの責任 [633746646]
- 東浩紀「日本はいままさに駆け引きをしている。」高市有事にピシャリ [834922174]
