[過去ログ] 【3Dゲームエンジン】Unity質問スレッド32 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
826(2): 2017/12/12(火)18:37 ID:w86KIWp6(2/4) AAS
void FixedUpdate () {
t = Time.time;
if (t == 0) {
rb.angularVelocity = Vrad;
} else if (t == 1.0f) {
Debug.Log ("t=" + t);
Debug.Log ("angularVelocity:" + rb.rotation.eulerAngles);
省15
827(2): 2017/12/12(火)18:41 ID:w86KIWp6(3/4) AAS
結果です!
angularVelocity = new Vector3(45, 30, 0) * Mathf.Deg2Rad
を入力すると、
?angularVelocity:Vector3(42.4, 37.4, 15.0)
1秒ピッタリで止めるには、FixedUpdate内でないとダメのようですね
Invoke("Stop", 1.0f)で呼び出すと、
angularVelocity:Vector3(43.1, 38.6, 15.7)と
省8
828: 2017/12/12(火)18:52 ID:w86KIWp6(4/4) AAS
>>816
回転が勝手に減速する話は本当ですか?
AngularDrag = 0にしてない・・・とかではなくて??
RigidbodyをangularVelocityやAddTorqueで回転させて、
1秒ごとにangularVelocityを表示させても、
回転速度は落ちてないようなのですが・・・
829: 2017/12/12(火)20:43 ID:s3bcy12n(2/2) AAS
>>826
RigidbodyもRigidbody2Dも、
LinearDragは0が初期値だけど、
AngularDragは0.05が初期値なのが、
気に入らないということでは?
830: 2017/12/12(火)20:43 ID:WuPRAOqq(1/2) AAS
今までモーションは、簡単だからmmdで作ってたけどx軸とy軸の計算違うような……
blenderに乗り換えた方がいいのだろうか。
831: 2017/12/12(火)20:56 ID:+nER52Ex(1) AAS
はい
832(1): 2017/12/12(火)21:01 ID:WuPRAOqq(2/2) AAS
やっぱか……
blenderの勉強してくるわ。
mmd使うとか俺ってほんとにバカ……
833: 名無し@キムチ 2017/12/12(火)21:17 ID:pZVPZZmh(1) AAS
>>832
Blenderには気を付けたほうがいい
Blender上では問題なくモーションしてても、unityに取り込んで動かすと、手が体に食い込んだりしているから。
何度か行ったり来たりする必要があるw
834(1): 2017/12/12(火)22:25 ID:oOD9NLJB(1) AAS
blender でもやっぱり同じようなこと起きると思うよ
表現力に不満がないならMMDにしとき
835: 2017/12/12(火)22:32 ID:9L2xhVzt(1) AAS
else ifまで読んだ
そんなか入るの?!
836: 2017/12/13(水)00:01 ID:/jokcbje(1/6) AAS
>>827
最初の回転状態が、
rotatiin =Quaternion.identityであれば、
1: rotation = Quaternion
2: rotation = rotation * Quaternion
3: rotation = Quaternion * rotation
省5
837: 2017/12/13(水)00:07 ID:/jokcbje(2/6) AAS
rotationの場合も、positionの場合も、
1は、角変位や位置の絶対指定、
2-3は、角変位や位置の相対指定です。
rotatiin =Quaternion.identityでない場合、
position = Vector3.zeroでない場合、
1と、2-3で、結果が変わってきます。
しかも、rotationの場合、
省5
838: 2017/12/13(水)00:35 ID:/jokcbje(3/6) AAS
>>825-827
Invokeが呼び出しの際に1フレーム遅れるとわかっているのであれば、
1フレーム前の時間で呼び出させば大丈夫ですよ。
void Start () {
rb.angularVelocity = new Vector3(45, 30, 0) * Mathf.Deg2Rad;
Invoke ("Stop", 1 - Time.fixedDeltaTime); ←1フレーム前に呼び出し
}
省10
839: 2017/12/13(水)06:09 ID:EBksqhAl(1/2) AAS
>>834
そうなのか……
大きい移動とかはスクリプトで制御するしかないのか。
ありがとう
840: 2017/12/13(水)18:54 ID:+IrYaRns(1/2) AAS
趣味でUnity使ってゲーム制作してる人と友達になる方法教えてください
841: 2017/12/13(水)18:59 ID:w+IYDO+A(1) AAS
お断りします
842(1): 2017/12/13(水)19:00 ID:EBksqhAl(2/2) AAS
ツイッターでよくね?
現実で探そうとしてもなかなか見つからんもんだぞ。
843(1): 2017/12/13(水)19:11 ID:6lJsdJ22(1) AAS
transformのposition, rotation, scaleって、
なんでtransform.position,transform.rotation,transform.lossyscale
になっていて、transform.scaleじゃないの??
844(1): 2017/12/13(水)19:23 ID:+IrYaRns(2/2) AAS
>>842
日本の活発な交流サイトとかはなさそうですね…ありがとうございます
845: 2017/12/13(水)19:54 ID:IotT1rVx(1) AAS
>>844
ツイッター
FacebookのUnity寄り合い所
あとはリアルのイベント
ゲームジャムやエンジニア向け勉強会に参加して交流、名刺交換、SNS垢の相互フォローなどすれば簡単に知り合いは増える
ちゃんと進捗をSNS上で報告すれば質問とかも答えてもらえる
イベントを探すならdoorkeeper、atnd、peatix
846(1): 2017/12/13(水)20:48 ID:/jokcbje(4/6) AAS
>>843
transform.lossyscale = Vector3.Scale(transform.parent.localscale, transform.localscale)
つまり
transform.lossyscale.x = transform.parent.localscale.x * transform.localscale.x
transform.lossyscale.y = transform.parent.localscale.y * transform.localscale.y
transform.lossyscale.z = transform.parent.localscale.z * transform.localscale.z
localscaleは、インスペクター上で設定するスケールで、
省3
847(1): 2017/12/13(水)20:58 ID:Kxr7McTA(1/3) AAS
>>846
おお、中の人?w
848: 2017/12/13(水)22:56 ID:/jokcbje(5/6) AAS
Unityでは、アフィン変換を行う4×4行列であるMatrix4x4が、
TRS(Vector3 position, Quaternion rotation, Vector3 lossy scale)
によって構成されていて、
スケーリング→回転→移動の順に適用するようにしています。
最初にスケーリングを行うことで、
3×3行列の対角成分しか使わず、Vector3で済みます。
RigidbodyのinertiaTensorも一緒で、
省3
849(1): 2017/12/13(水)23:01 ID:/jokcbje(6/6) AAS
>>847
Unity自体はそれほど詳しくないですが、
物理演算系とか、3D数学が専門なので。
850(1): 2017/12/13(水)23:04 ID:bbkFRctl(1) AAS
神になった気分だ。
スキルアップした今、どんなジャンルの仮想世界を作れと言われても
その詳細さえ教えてもらえれば
一瞬でどんなデータ構造/アルゴリズムで作ればいいかや
どんなデザインパターンを使えばいいかが
一瞬で頭にひらめき、スラスラとコードを書きはじめることができ、
予期せぬバグとかがなければ短期間でそのソフトやツールを一人で作る自信がある。
省2
851: 2017/12/13(水)23:09 ID:Kxr7McTA(2/3) AAS
>>850
いいから、お前は早く作れ!w
852(1): 2017/12/13(水)23:11 ID:Kxr7McTA(3/3) AAS
>>849
専門?3d系プログラマ?
853(1): 2017/12/13(水)23:36 ID:fbUZmcUU(1) AAS
transform.lossyscale.x = transform.parent.locssyScale.x * transform.localscale.x
じゃないのか?
854: 2017/12/14(木)00:23 ID:AuQKwcV0(1/7) AAS
>>853
そうですね。
parentがrootとは限らないので、parentのlossyscaleじゃないとダメですね。
末枝側へ変換が累積していきますから。
親オブジェクト-子オブジェクトの2者関係だと、
親オブジェクトのlossyscale = localscaleなので、両方localscaleで大丈夫ですけど。
親オブジェクト-子オブジェクト-孫オブジェクトの3者関係だと、
省9
855: 2017/12/14(木)00:33 ID:AuQKwcV0(2/7) AAS
Scaleの積は、Vector3の各成分とVector3の各成分の積なので、
Vector3 * Vevtor3 は定義されていないから、
Vector3.Scale(Vector3, Vevtor3) という演算ですね。
いわゆる、アダマール積(シューア積,要素積)です。
Unityでは、アダマール積の逆関数が定義されていないので、
自分でVector3.Scaleの逆関数を定義するか、
アダマール積の逆数を自分で定義する必要がありますね。
856: 2017/12/14(木)02:05 ID:tWpTkhe5(1) AAS
Vuforiaを使ってAR作りたいのですが実行するとマーカーは認識するもののカメラの映像が映らずに画面が黒くなります
誰か分かる方いらっしゃいますか...?
857(1): 2017/12/14(木)08:31 ID:fpuqjDVR(1) AAS
専門ってのは専門学校の事だろw
858(3): 2017/12/14(木)08:46 ID:xj1b5N68(1) AAS
>>857
専門学校出身だったら行列の回転だとかをQuaternionとかでも適用して使えるんだろなー
という煽りレス
859(1): 2017/12/14(木)11:08 ID:X1xy6sbZ(1) AAS
plus一ヶ月契約でもエッセンシャルパック2つってもらえますか?
あるいは契約し続けないと使えなくなる感じかな
860(1): 2017/12/14(木)12:22 ID:JR7j67YV(1/2) AAS
>>858
Unityって、もともと回転行列じゃなくて、クォータニオンで回転しているんじゃないの??
861(1): 2017/12/14(木)13:13 ID:6Eg6sRVA(1) AAS
>>860
Matrix4x4というのがあってね...
でも正直に言おう アレは何だ?!
862(1): 2017/12/14(木)15:25 ID:UIHENBZT(1) AAS
数学難しいですね
でも大丈夫!UNITYにはアセットが有りますよ!
アセットを購入しましょう!
863: 2017/12/14(木)17:52 ID:V0Mq7RkO(1) AAS
>>862
お前ニセモノだな!
864(1): 2017/12/14(木)19:01 ID:EAIFpwQr(1) AAS
>>859
契約切れても有効だけどそもそもplus/pro自体12ヶ月継続必須だから前提が無理
865(1): 2017/12/14(木)19:21 ID:JR7j67YV(2/2) AAS
>>861
3次元のベクトルを回転させるのに、なんで4x4行列なの?
回転行列って、3x3行列じゃないの??
866(1): 2017/12/14(木)20:39 ID:AuQKwcV0(3/7) AAS
>>865
移動と回転とスケーリングができるように、
アフィン変換行列になっているからです。
Matrix4x4.TRS(position, rotation, scale)
で4×4行列に入力できますが、
出力する時は、
Vector3 = Matrix4x4.MultiplyVector(Vector3)
省2
867: 2017/12/14(木)20:55 ID:N8/aZDnG(1/2) AAS
>>866
はえ〜すっごい‥
868: 2017/12/14(木)21:30 ID:AuQKwcV0(4/7) AAS
>>858
回転行列MでベクトルV0を回転させて、ベクトルVにするには、
Z軸で30度回転する場合は、
Quaternion Q = Quaternion.Euler (0, 0, 30);
Matrix4x4 M = Matrix4x4.TRS (Vector2.zero, Q, Vector2.one);
Vector3 V0 = new Vector3(1, 2, 3);
Vector3 V = M.MultiplyVector (V0);
省4
869: 2017/12/14(木)21:32 ID:AuQKwcV0(5/7) AAS
Matrix4x4 M = Matrix4x4.TRS (Vector2.zero, Q, Vector2.one);
は間違いで、
Matrix4x4 M = Matrix4x4.TRS (Vector3.zero, Q, Vector3.one);
が正しいです。
870(1): 2017/12/14(木)21:45 ID:AuQKwcV0(6/7) AAS
>>858
Quaternion QでベクトルV0を回転させて、ベクトルVにするには、
Z軸で30度回転する場合は、
Quaternion Q = Quaternion.Euler (0, 0, 30);
Vector3 V0 = new Vector3(1, 2, 3);
Quaternion Qv0 = Quaternion.identity;
Qv0.Set(V0.x, V0.y, V0.z, 0);
省5
871: 2017/12/14(木)21:55 ID:AuQKwcV0(7/7) AAS
Vector3 = Quaternion * Vector3
は、行列積を意識していると思われます。
Vector3 = Matrix3x3 * Vector3
としたいところですが、
UnityにはMatrix3x3は用意されていません。
(3×3行列の乗算では、回転とスケーリングしかできないからです)
Vector4 = new Vector4(Vector3, 1) で4次元ベクトルにしてから、
省5
872: 2017/12/14(木)23:49 ID:zts/k6NY(1) AAS
行列なんか意識しないでも3dゲーム作れるようになったんだからすごい時代だよね
結構まえからだけど
873: 2017/12/14(木)23:54 ID:N8/aZDnG(2/2) AAS
>>870
へー、なるほどなぁ‥
874(1): 2017/12/15(金)01:39 ID:TM1zyrgU(1) AAS
>>864
年契約の1ヶ月払いってだけなんですね
ありがとうございます
875: 2017/12/15(金)04:19 ID:L6b+QAfA(1) AAS
なるほど よくわからん
876: 2017/12/15(金)11:35 ID:a5awPS/6(1) AAS
>>874
半額だったんでplusを年契約の年払いしたよ
売り上げ1千万以上なのに。
たかだか1万円ぐらいを月払いする奴いるの?
877(1): 2017/12/15(金)12:38 ID:c63jfGrC(1/2) AAS
物理演算系の解説を希望!
C#の経験あっても、そもそも物理演算は別物な気がする・・・
物理演算は、2Dと3Dで若干仕様が違うし、なかなか体系的に物理演算を解説しているサイトも少ない
せいぜい、velocityとAddForce止まりが多い
重力設定や衝突判定をUnityにまかせてしまうには、物理演算を使用するのが手っ取り早いんだけど、
物理演算だと、これまでのグラフィックス操作的な、プログラミングメソッドがあまり使えない
(基本的に、positionやrotationを直接いじらないほうが良いみたい)
878(3): 2017/12/15(金)12:46 ID:bN2Y1bPS(1) AAS
アイテムを所持していればお化けを倒せるというシステムにしようと思っています。
それでそのアイテムを十字架の画像にしようと思っているのですが、日本人だったらアイコン見ただけで何となく意味が分かるだろうと思うのですが、海外の人でも抵抗なくスッと理解されるんでしょうか?
879: 2017/12/15(金)13:05 ID:DzxyY709(1) AAS
>>878
アセットを購入すればいいですよ
880: 2017/12/15(金)15:58 ID:59uPCR9L(1) AAS
>>878
海外のゲームを参考にすればわかりますよ
881: 2017/12/15(金)16:32 ID:kzY3QNw/(1) AAS
>>878
ゲームデザインにもよるけど
そのアイテムの効果とお化けとの相互関係が分かるような物なら多分大丈夫かなぁ アイテム説明とかも結構重要だけども。
882(1): 2017/12/15(金)16:54 ID:bO73tzHJ(1) AAS
アイテム説明が一番確実だわな
むしろ必須じゃないか?
883(2): 2017/12/15(金)20:05 ID:c63jfGrC(2/2) AAS
transform.LookAtだと、どうしてもオブジェクトのforward軸が対象を向いちゃう
そうじゃなくて、オブジェクトのup軸を対象に向けたいんだけど、一体どうすれば・・・?
transform.LookAtでオブジェクトのforward軸を対象に向けて、
その後にtransform.Rotateでx軸で90度して、up軸をforwardへ向けているんだけど、
2段階になっちゃって、無駄が多いし、その瞬間動作が表示されちゃう
オブジェクトとtransform軸の対応を変更できれば、
オブジェクトのup軸方向を、forward軸に設定したいんだけど・・・
884: 2017/12/15(金)20:51 ID:PCtIHB7r(1) AAS
おぶじえくを最初から傾けておくか、小オブジェクトで対応するか、いくらでも方法あるだろうね。
ルックアット使わずにやるのも有りだし。
885(3): 2017/12/15(金)23:29 ID:nw+wySXa(1/3) AAS
>>883
目標の座標をVector3 targetとすると、
transform.right = targetでいけませんか?
transform.LookAt(target) は、
transform.forward = target と同じになるはずです。
886: 2017/12/15(金)23:37 ID:nw+wySXa(2/3) AAS
もっとも汎用性のある方法は、
向き(transform.rotation)を、
向けたい軸(Vector3.right)を向かせたい相手(target)へ向ける回転
Quaternion.FromToRotation にしてしまう方法かと思います。
transform.rotation = Quaternion.FromToRotation(Vector3.right, target)
になります。
例えば、左側をtargetに向けたい場合、
省5
887(2): 2017/12/15(金)23:38 ID:nw+wySXa(3/3) AAS
>>883
読み間違えました。
up軸を向けるのでしたね。
?transform.up = target
?transform.rotation = Quaternion.FromToRotation(Vector3.up, target)
888(1): 2017/12/16(土)01:09 ID:yxJiRP9K(1/2) AAS
先生、お元気ですか?
ゲームの世界は感覚的すぎて戸惑います。
学び舎では多くを教わりましたが、教わった通りに自分が成長できているか分かりません。
ぼくは、自分の理想の世界観を語れるほどゲームを知らないということを知りました。
惹かれます。
ゲームを、もっと知りたいです。
889: 2017/12/16(土)02:04 ID:hBjssZ70(1/5) AAS
>>888
どこかで見た文章だけど、元ネタが思い出せない・・・
890: 2017/12/16(土)05:13 ID:nt3lwpZi(1) AAS
>>882
文字で説明しないと伝わらないUIはデザインとしてゴミ以下
891: 2017/12/16(土)10:52 ID:rc5ijf27(1) AAS
質問です
友人がウインドウズで9人対9人のオンラインゲームを作りたいと言ってます
それはつまり18人がオンライン接続してゲームするわけですが
そんなことUnityでやれますか?
892: ダーク王鍬大使 ◆SoVpkB15jY 2017/12/16(土)12:23 ID:finBREYt(1) AAS
出来まふよ(^^
893: 2017/12/16(土)14:06 ID:OPi28kIP(1/2) AAS
何でできないって思うんだろうな
894: 2017/12/16(土)14:10 ID:2jMajkmZ(1) AAS
Unityは出来るけど彼らには出来ない
悲しいけどこれ、ゲーム制作なのよね
895: 2017/12/16(土)15:56 ID:fmqmdkMD(1) AAS
無料で利用できる範囲は同時接続20人まで
21人〜50人まで月額4200円
51人〜200人まで月額15000円
896(1): 2017/12/16(土)16:08 ID:ovrxOZck(1) AAS
パーソナル版の使用条件として収益が〜ドル以下みたいな規約がありますが、
あれは自己申告なのでしょうかそれとも向こうでも逐一判断できる状態なんでしょうか。
897: 2017/12/16(土)16:56 ID:OPi28kIP(2/2) AAS
>>896
判断できる状態ってどんな状態?
自己申告だけどものすごく稼いでたら嫌でも目に留まる
898: 2017/12/16(土)17:44 ID:YMI0KZPt(1) AAS
「人生はゲームのようにプレーしろ。真理は恐ろしいものではない。」
899(1): 名無し@キムチ 2017/12/16(土)19:19 ID:ODGviKVk(1) AAS
>>887
>up軸を向ける
up軸を相手に向けるというのが、当方にはどんな状態なのか、ピンとこないです。
具体的には頭のてっぺんを相手に向けるということなのですか?
それはどんなシチュエーションのゲームなんだろう?
これから相手に頭突きをかますとか?それなら、頭だけを下げればいいわけだし・・・
申し訳ないが、まるで映像が浮かんできません・・・www
900(1): 2017/12/16(土)22:30 ID:zgsa9dPV(1/2) AAS
落ちものパズルを作成していて画面上部にオブジェクトを出現させて横軸のマウスの動きについてきてクリックでオブジェクトが落下。
というような仕様にしたいのですが、ランダムにオブジェクトを作成して画面上部に固定というのが出来ません。これの解決法が見つかりません。。。
どうかご教授お願いします。
901: 2017/12/16(土)22:50 ID:hBjssZ70(2/5) AAS
例えば、太陽を中心に地球が公転をする時のようなイメージで、
常に同じ面(赤道面)を太陽に向けて公転する場合は、forwardを太陽に向かせればよいけど、
太陽の真上に北極星をおいて、北極側の地軸を常に北極星に向かせたまま公転する場合は、
up軸を北極星に向ける必要がある
(実際の地球はそんな回転はしないけど、そういう状況を作りたいときに必要かも)
902: 2017/12/16(土)22:58 ID:hBjssZ70(3/5) AAS
あるいは、飛行機の宙返り飛行かも?!
普通、飛行機の前後にforward軸をとるはず
transform.position += Vector3.forwardで前へ進み、
taransform.RotateionAroundで、上空に設定したループ中心回りを公転して宙返り
その際、飛行機の背中(上下のup軸)はループ中心を向けていないといけない
903: 2017/12/16(土)23:03 ID:yxJiRP9K(2/2) AAS
人生は神ゲーだ。
本気でがんばるとぎりぎり倒せるように絶妙のバランス調節がされた敵。
単純作業じゃ効率が悪いけど、工夫次第でどんどん効率を上げられる経験値システム。
リセット不可の緊張感。でもシレンとかよりずっと死ににくいからあんま気にする必要なし。つーか普通のゲームでもリセットなんて邪道じゃん。
全てのキャラが深い人間性と歴史を持って登場する、圧倒的リアリティ。
グラフィックが綺麗すぎ。多分、無限×無限ピクセルで、毎秒無限フレームで動いてる。色も多分無限色使える。夕焼けとかマジありえねー美しさ。
BGMの種類がほぼ無限。選曲も自由。自分で作った曲を流すこともできる。人間が作ったとは思えない、とんでもなく複雑で洗練されたシナリオ。
省12
904(1): 2017/12/16(土)23:05 ID:hBjssZ70(4/5) AAS
いいや、違うな・・・
おそらく、2DでLookAtが使えないからかもしれない!
2Dだと、forwardはZ方向、つまり、奥方向が前になる
2DでLookAtすると、forwardを対象物に向けるため、
スプライトが画面に対して垂直に立っちゃうからかも?
例えば、振り子運動させる時、上方に振り子の中心点を設定して、
左下45度から右下45度へ向かってRotateAroundで公転した場合、
省4
905(1): 2017/12/16(土)23:07 ID:hBjssZ70(5/5) AAS
>>900
物理は使う?
2Dなの3Dなの??
Gravityオフにしてオブジェクトを生成すれば、落ちないよ
クリックしされたら、オブジェクトのGravityをオンにしたら良いんじゃ
906(1): 2017/12/16(土)23:57 ID:zgsa9dPV(2/2) AAS
>>905
返信ありがとうございます。
物理は使っています。2Dで制作しています。
プログラムが書けなくてオブジェクトをランダムに生成してクリックでGravityをオンにするっていうようにするのが
どうやればいいのかわからなくて・・・。
上下前次1-新書関写板覧索設栞歴
あと 96 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.024s