[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/09 10:33 / Filesize : 338 KB / Number-of Response : 1052
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【3Dゲームエンジン】Unity質問スレッド32



1 名前:名無し@キムチ [2017/10/30(月) 05:05:35.00 ID:xnHTCaF3.net]
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

次スレは>>950以降にできるだけ早く(できれば回答者が回答した後にでも余裕を持って)建てて下さい。

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
www24.atwiki.jp/unity2ch/

●リンク
・Unity(日本公式サイト)
unity3d.com/jp
・マニュアル
 docs.unity3d.com/ja/current/Manual/index.html
・チュートリアル
 unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
 docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
 unity3d.com/jp/unity/faq
・MSDN
 msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。

前スレ
【3Dゲームエンジン】Unity質問スレッド31
https://mevius.5ch.net/test/read.cgi/gamedev/1504366121/

837 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 23:16:52.47 ID:T/JrBtRm.net]
初心者は基礎勉強を習得した後に応用問題などで躓く者
無能は怠慢で基礎勉強をせずに全てに躓く者
そして自分は初心者だと勘違いしてる者
無能と初心者は全然違う

初心者には教えるが怠け者なだけの無能には教えたくはないって人が多いと思う
質問する気になれないなんて者は来なくていいと思う
そいつが消えた所でそいつが困るだけでこっちは何も困らない
どうぞ勝手にお帰り下さいなんじゃないかな?
ましてや自分は初心者だから教えてもらって当たり前なんて思ってる勘違いには特に

悔しいなら無能をやめて初心者になり
教えたい人が思わず教えてやりたくなるような質問したら?

838 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 23:21:47.98 ID:T/JrBtRm.net]
>>795
質問ではなく相手を試す問題だと見抜かれてスルーされた事にそろそろ気づこうか

>>798
悪いが発言内容が超明後日方向でずれてるから

839 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 23:28:43.27 ID:T/JrBtRm.net]
>>795>>798の2人は俺の考えに反対やら滑稽やらなら
ニセ初心者のしょーもない今までの質問全てに全部答えてあげてないと
俺そういう場面見てないんだけど
今も俺にレスするよりそっちが先とおもうけど未処理の物が沢山あるよ
明日からもずっと頼むよお2人さん
俺の考えに反対で反論してくるのはそういうことだから

840 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 23:32:55.29 ID:7N8aCxOe.net]
ビッグアップル大丈夫か

841 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 00:07:46.96 ID:yWI4yO+J.net]
まさかツッパリが足りずに弱音を吐いて「大目に見てくださいよ〜〜〜><」とか懇願してるわけじゃあるまいな

842 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 00:18:39.38 ID:awDx9SbB.net]
試行錯誤が大好きなら一生迷走しててええんやで
遠慮すんなよw

843 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 00:29:29.52 ID:K5+QKreg.net]
>>801
偉そうに講釈垂れてる人が大勢いるのにこれにレスがつかないの酷すぎないか…

キッチリ1秒後なら

var r = Mathf.Rad2Deg;
Rigidbody.rotation *= Quaternion.Euler(a * r, b * r, c * r);

でどないでしょ

844 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 00:36:52.31 ID:K5+QKreg.net]
>>801
rigidbody.rotation *= Quaternion.Euler(rigidbody.angularVelocity * Mathf.Rad2Deg)

のほうが簡単か

845 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 02:09:47.10 ID:s3bcy12n.net]
@angle = Vector3(a, b, c).magnitude * Mathf.Rad2Deg

3Dの場合、angularVelocityは、rad/秒で入力するので、
a,b,cはrad/秒で入れているはずだから、
angleは度での入力になるため、
* Mathf.Rad2Degで、rad→度の変換が必要ですね

Aaxis = Vector3(a, b. c).normalized

これをQuaternion.AngleAxisに入れると、1秒後の回転状態になります
試してみて下さい

Quaternion.Eulerは、
Z軸回転→X軸回転→Y軸回転の連結回転になるので、
計算結果が、角速度での回転状態と合わないですよ

angularVelocityは全軸同時回転ですから
回転ベクトル=



846 名前:回転角 * 回転軸ベクトル
で計算しないとダメなはず
[]
[ここ壊れてます]

847 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 02:14:08.74 ID:K5+QKreg.net]
なるほど
勉強になった
ありがとう

848 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 04:00:52.95 ID:kM1br0bK.net]
>>795
"unity shiftjis error"でぐぐって一番上に出てくる内容コピってどやってんじゃねーよw
仰られてる知識や経験は、その問題に関してはとくに必要なさそうです

849 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 06:49:36.70 ID:yWI4yO+J.net]
809
そういう「より優れた仕様奴隷状態」をドヤる話だと思ってたわ

850 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 07:26:11.46 ID:OlgvJzEy.net]
>>812
うん、そのドヤ顔を期待してたw
全く待たずに回答投下してるのに顔真っ赤でスルーされた事に気づけとか書いてる奴がいたのには驚いたが

だかな、この質問俺が数年前過去スレに質問して回答が得られなかった質問なんだわ、その後自己解決して方法も書いたはず
2017年4月のそのTIPS見て、同じようなことで困ってる奴多かったんだなと懐かしく思った記憶がある

>>801
すまん、昨日は撒き餌撒いて寝てしまったので見てなかった
回答はついてる様なので省略するが、物理エンジンで動かす場合、摩擦やら他のオブジェクトとの衝突やらで結果がズレる可能性があることには注意な

851 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 07:26:33.24 ID:yWI4yO+J.net]
仕様奴隷「俺はこんなにも素晴らしい奴隷なんだ!もっと俺をこき使ってくれぇええ!!」(ドヤァアアア!!!)

852 名前:名前は開発中のものです。 [2017/12/12(火) 07:29:16.97 ID:QJDJOOiE.net]
レベルデザインに使えるツール教えてください
アセットでもいいです

853 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 07:34:12.06 ID:yWI4yO+J.net]
回転もデフォで減速するみたいだな
いちいち生意気なんだよUnity

854 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 08:13:35.13 ID:tVhYuHY1.net]
>>816
どんなのを求めているかわからないけどアセットでもいいなら
ProBuilderなんてどうだい?

855 名前:名前は開発中のものです。 [2017/12/12(火) 09:37:16.36 ID:QJDJOOiE.net]
>>818
アセットのセットみたいなのがほしいです
フリーで



856 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 10:39:07.71 ID:qFAu6kJp.net]
アセットじゃないけどスケッチアップなんてどうだい?
CADツールだけどUnityでそのままスケッチアップ形式のファイルを読み込むことができるんだ

そしてウェアハウスっていうUnityでいうアセットストアのようなところで他人の作ったオブジェクトをダウンロードできるんだ

ただし無償版でどこまでできるか把握してないから
気になったら調べてごらんよ

857 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 11:37:29.41 ID:V4vKOuq6.net]
VS for Macでコーディングしている人いる?
予測コーディングが効かなかったり、最近のアプデで日本語入力がリアルタイムで表示されなくなったり、子音の入力が反応悪かったり
色々ボロボロで進捗やばいんだけどMacでの開発に向いてるテキストエディタ何か無いかしら?

858 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 13:51:05.12 ID:awDx9SbB.net]
>>812
どうせキムチだよw

859 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 15:35:32.47 ID:ICWFqCcb.net]
>>821
neovim

860 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 17:04:49.48 ID:SinzmT6m.net]
VS codeを使うといい
for macは対応が不完全なゴミだがcodeはmacでも完璧に使える
金払ってもいいならRider

861 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 17:13:54.71 ID:md8fOJvX.net]
VS codeの怒涛の更新ペースは何事かと思うw

862 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 18:36:56.62 ID:w86KIWp6.net]
>>808 >>809
>>810
ありがとうございます!
両方やってみました

Quaternion Q;
Vector3 axis, Vdeg, Vrad;
float angle, t;
Rigidbody rb;

void Start () {
 rb = GetComponent < Rigidbody > ();
 Vdeg

863 名前: = new Vector3(45, 30, 0);
 Vrad = new Vector3(45, 30, 0) * Mathf.Deg2Rad;
 Q = rb.rotation;
}
[]
[ここ壊れてます]

864 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 18:37:14.48 ID:w86KIWp6.net]
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);
  rb.angularVelocity = Vector3.zero;

  //angle = Vrad.magnitude * Mathf.Rad2Deg;
  //axis = Vrad.normalized

  angle = Vdeg.magnitude;
  axis = Vdeg.normalized;

  rb.rotation = Quaternion.AngleAxis (angle, axis);
  Debug.Log ("AngleAxis:" + rb.rotation.eulerAngles);

  rb.rotation = Quaternion.Euler(Vdeg);
  Debug.Log ("Euler1:" + rb.rotation.eulerAngles);

  rb.rotation = Q * Quaternion.Euler(Vdeg);
  Debug.Log ("Euler2:" + rb.rotation.eulerAngles);

  rb.rotation = Quaternion.Euler(Vdeg) * Q;
  Debug.Log ("Euler3:" + rb.rotation.eulerAngles);
 }
}

865 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 18:41:32.25 ID:w86KIWp6.net]
結果です!

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)と
 1フレーム分くらいの遅延が生じる模様・・・

AAngleAxis:Vector3(42.4, 37.4, 15.0)

BEuler1:Vector3(45, 30, 0)

CEuler2:Vector3(45, 30, 0)

DEuler3:Vector3(45, 30, 0)

angularVelocityをEulerでQuaternionに入れちゃうと、
角速度による回転結果のQuaternionと少し違うようです・・・
AngleAxisでQuaternionに入れる方が正しいみたいですね



866 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 18:52:30.96 ID:w86KIWp6.net]
>>817

回転が勝手に減速する話は本当ですか?
AngularDrag = 0にしてない・・・とかではなくて??

RigidbodyをangularVelocityやAddTorqueで回転させて、
1秒ごとにangularVelocityを表示させても、
回転速度は落ちてないようなのですが・・・

867 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 20:43:24.56 ID:s3bcy12n.net]
>>827

RigidbodyもRigidbody2Dも、
LinearDragは0が初期値だけど、
AngularDragは0.05が初期値なのが、
気に入らないということでは?

868 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 20:43:27.01 ID:WuPRAOqq.net]
今までモーションは、簡単だからmmdで作ってたけどx軸とy軸の計算違うような……
blenderに乗り換えた方がいいのだろうか。

869 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 20:56:14.28 ID:+nER52Ex.net]
はい

870 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 21:01:44.29 ID:WuPRAOqq.net]
やっぱか……
blenderの勉強してくるわ。
mmd使うとか俺ってほんとにバカ……

871 名前:名無し@キムチ [2017/12/12(火) 21:17:33.27 ID:pZVPZZmh.net]
>>833
Blenderには気を付けたほうがいい
Blender上では問題なくモーションしてても、unityに取り込んで動かすと、手が体に食い込んだりしているから。
何度か行ったり来たりする必要があるw

872 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 22:25:16.08 ID:oOD9NLJB.net]
blender でもやっぱり同じようなこと起きると思うよ
表現力に不満がないならMMDにしとき

873 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 22:32:44.76 ID:9L2xhVzt.net]
else ifまで読んだ
そんなか入るの?!

874 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 00:01:44.95 ID:/jokcbje.net]
>>828

最初の回転状態が、
rotatiin =Quaternion.identityであれば、

1: rotation = Quaternion

2: rotation = rotation * Quaternion

3: rotation = Quaternion * rotation

1-3は全て同じ結果になります。

position = Vector3.zeroの場合、

1: position = Vector3

2: position = position + Vector3

1-2が同じ結果なのと一緒です。

875 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 00:07:16.00 ID:/jokcbje.net]
rotationの場合も、positionの場合も、

1は、角変位や位置の絶対指定、
2-3は、角変位や位置の相対指定です。

rotatiin =Quaternion.identityでない場合、
position = Vector3.zeroでない場合、

1と、2-3で、結果が変わってきます。

しかも、rotationの場合、

2: rotation * Quaternionと
3: Quaternion * rotationでも、結果が変わってきます。

追加するQuaternionによる角変位の回転軸を、
transform軸を基準にした回転にする場合は2になり、
キャンバスのVector3軸を基準にした回転にする場合は3になります。



876 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 00:35:37.82 ID:/jokcbje.net]
>>826-828
Invokeが呼び出しの際に1フレーム遅れるとわかっているのであれば、
1フレーム前の時間で呼び出させば大丈夫ですよ。

void Start () {
 rb

877 名前:.angularVelocity = new Vector3(45, 30, 0) * Mathf.Deg2Rad;
 Invoke ("Stop", 1 - Time.fixedDeltaTime); ←1フレーム前に呼び出し
}

void Stop () {
 Debug.Log ("1秒後のrotation:" + rb.rotation.eulerAngles);
 rb.angularVelocity = Vector3.zero;
}

「1秒後のrotation:Vector3(42.4, 37.4, 15.0)」が出ましたよ。
>>810の方法で求めた場合と一致する値です。

rb.angularVelocity = new Vector3(45, 30, 0) * Mathf.Deg2Rad
angle = (rb.angularVelocity).magnitude * Mathf.Rad2Deg

V = new Vector3(45, 30, 0)
angle = V.magnitudeでも同じ結果になります。
[]
[ここ壊れてます]

878 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 06:09:25.65 ID:EBksqhAl.net]
>>835
そうなのか……
大きい移動とかはスクリプトで制御するしかないのか。
ありがとう

879 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 18:54:39.99 ID:+IrYaRns.net]
趣味でUnity使ってゲーム制作してる人と友達になる方法教えてください

880 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 18:59:16.17 ID:w+IYDO+A.net]
お断りします

881 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 19:00:06.72 ID:EBksqhAl.net]
ツイッターでよくね?
現実で探そうとしてもなかなか見つからんもんだぞ。

882 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 19:11:19.37 ID:6lJsdJ22.net]
transformのposition, rotation, scaleって、
なんでtransform.position,transform.rotation,transform.lossyscale
になっていて、transform.scaleじゃないの??

883 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 19:23:08.89 ID:+IrYaRns.net]
>>843
日本の活発な交流サイトとかはなさそうですね…ありがとうございます

884 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 19:54:49.63 ID:IotT1rVx.net]
>>845
ツイッター
FacebookのUnity寄り合い所
あとはリアルのイベント
ゲームジャムやエンジニア向け勉強会に参加して交流、名刺交換、SNS垢の相互フォローなどすれば簡単に知り合いは増える
ちゃんと進捗をSNS上で報告すれば質問とかも答えてもらえる
イベントを探すならdoorkeeper、atnd、peatix

885 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 20:48:15.04 ID:/jokcbje.net]
>>844

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は、インスペクター上で設定するスケールで、
lossyScaleは、自分のlocalscaleと親のlocalscaleの各成分の積になってます。

本当のscaleは、回転が入ると、Vector3ではなくて、3×3行列になってしまいます。

lossyScaleの場合は、回転前のスケールで、Vector3で表せるからだと思います。



886 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 20:58:06.39 ID:Kxr7McTA.net]
>>847
おお、中の人?w

887 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 22:56:29.30 ID:/jokcbje.net]
Unityでは、アフィン変換を行う4×4行列であるMatrix4x4が、
TRS(Vector3 position, Quaternion rotation, Vector3 lossy scale)
によって構成されていて、
スケーリング→回転→移動の順に適用するようにしています。

最初にスケーリングを行うことで、
3×3行列の対角成分しか使わず、Vector3で済みます。

RigidbodyのinertiaTensorも一緒で、
本来は3×3行列が必要な慣性モーメントテンソルを、
慣性主軸系に限定することで、対角成分しか使わず、
Vector3の主慣性モーメントで済むようにしています。

888 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 23:01:57.61 ID:/jokcbje.net]
>>848

Unity自体はそれほど詳しくないですが、
物理演算系とか、3D数学が専門なので。

889 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 23:04:15.99 ID:bbkFRctl.net]
神になった気分だ。
スキルアップした今、どんなジャンルの仮想世界を作れと言われても
その詳細さえ教えてもらえれば
一瞬でどんなデータ構造/アルゴリズムで作ればいいかや
どんなデザインパターンを使えばいいかが
一瞬で頭にひらめき、スラスラとコードを書きはじめることができ、
予期せぬバグとかがなければ短期間でそのソフトやツールを一人で作る自信がある。

この予期せぬバグとはふだん使ってない昔やったプログラミング言語の細かい文法関

890 名前:連のことだけで
それはすぐ見直してカンを取り戻せばいいから全く問題ない。
[]
[ここ壊れてます]

891 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 23:09:45.76 ID:Kxr7McTA.net]
>>851
いいから、お前は早く作れ!w

892 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 23:11:16.24 ID:Kxr7McTA.net]
>>850
専門?3d系プログラマ?

893 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 23:36:39.33 ID:fbUZmcUU.net]
transform.lossyscale.x = transform.parent.locssyScale.x * transform.localscale.x
じゃないのか?

894 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 00:23:40.49 ID:AuQKwcV0.net]
>>854

そうですね。
parentがrootとは限らないので、parentのlossyscaleじゃないとダメですね。
末枝側へ変換が累積していきますから。

親オブジェクト-子オブジェクトの2者関係だと、
親オブジェクトのlossyscale = localscaleなので、両方localscaleで大丈夫ですけど。

親オブジェクト-子オブジェクト-孫オブジェクトの3者関係だと、
孫オブジェクトの親オブジェクトである子オブジェクトのlossyscaleは、
親オブジェクトのlocalscale * 子オブジェクトのlocalscaleになってますから、

孫オブジェクトのlossyscale
= 子オブジェクトのlossyscale * 孫オブジェクトのlocalscale
= (親オブジェクトのlossyscale * 子オブジェクトのlocalscale) * 孫オブジェクトのlocalscale
= 親オブジェクトのlocalscale * 子オブジェクトのlocalscale * 孫オブジェクトのlocalscale

>>853

仕事じゃなくて学問の方で。

うっかりしてましたが、UnityはCamelCaseだから、localScale,lossyScaleが正しいのでしたね。

895 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 00:33:15.69 ID:AuQKwcV0.net]
Scaleの積は、Vector3の各成分とVector3の各成分の積なので、
Vector3 * Vevtor3 は定義されていないから、
Vector3.Scale(Vector3, Vevtor3) という演算ですね。
いわゆる、アダマール積(シューア積,要素積)です。

Unityでは、アダマール積の逆関数が定義されていないので、
自分でVector3.Scaleの逆関数を定義するか、
アダマール積の逆数を自分で定義する必要がありますね。



896 名前:名前は開発中のものです。 [2017/12/14(木) 02:05:43.30 ID:tWpTkhe5.net]
Vuforiaを使ってAR作りたいのですが実行するとマーカーは認識するもののカメラの映像が映らずに画面が黒くなります
誰か分かる方いらっしゃいますか...?

897 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 08:31:00.73 ID:fpuqjDVR.net]
専門ってのは専門学校の事だろw

898 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 08:46:47.19 ID:xj1b5N68.net]
>>858
専門学校出身だったら行列の回転だとかをQuaternionとかでも適用して使えるんだろなー

という煽りレス

899 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 11:08:53.86 ID:X1xy6sbZ.net]
plus一ヶ月契約でもエッセンシャルパック2つってもらえますか?
あるいは契約し続けないと使えなくなる感じかな

900 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 12:22:42.24 ID:JR7j67YV.net]
>>859

Unityって、もともと回転行列じゃなくて、クォータニオンで回転しているんじゃないの??

901 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 13:13:10.01 ID:6Eg6sRVA.net]
>>861
Matrix4x4というのがあってね... 

でも正直に言おう アレは何だ?!

902 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 15:25:57.18 ID:UIHENBZT.net]
数学難しいですね
でも大丈夫!UNITYにはアセットが有りますよ!
アセットを購入しましょう!

903 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 17:52:04.05 ID:V0Mq7RkO.net]
>>863
お前ニセモノだな!

904 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 19:01:47.53 ID:EAIFpwQr.net]
>>860
契約切れても有効だけどそもそもplus/pro自体12ヶ月継続必須だから前提が無理

905 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 19:21:23.88 ID:JR7j67YV.net]
>>862

3次元のベクトルを回転させるのに、なんで4x4行列なの?
回転行列って、3x3行列じゃないの??



906 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 20:39:20.26 ID:AuQKwcV0.net]
>>866

移動と回転とスケーリングができるように、
アフィン変換行列になっているからです。

Matrix4x4.TRS(position, rotation, scale)
で4×4行列に入力できますが、

出力する時は、
Vector3 = Matrix4x4.MultiplyVector(Vector3)
によって、Vector3で入力して、
Vector3で出力できるようになっています。

907 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 20:55:53.20 ID:N8/aZDnG.net]
>>867
はえ〜すっごい‥

908 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 21:30:51.37 ID:AuQKwcV0.net]
>>859



909 名前:回転行列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);

これを、QuaternionとVector3の演算で行うと、

Quaternion Q = Quaternion.Euler (0, 0, 30);
Vector3 V0 = new Vector3(1, 2, 3);
Vector3 V = Q * V0;
[]
[ここ壊れてます]

910 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 21:32:41.20 ID:AuQKwcV0.net]
Matrix4x4 M = Matrix4x4.TRS (Vector2.zero, Q, Vector2.one);
は間違いで、

Matrix4x4 M = Matrix4x4.TRS (Vector3.zero, Q, Vector3.one);
が正しいです。

911 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 21:45:36.22 ID:AuQKwcV0.net]
>>859

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);

Quaternion Qv = Q * Qv0 * Quaternion.Inverse (Q);

Vector3 V = new Vector3(Qv.x, Qv.y, Qv.z);

こちらが、本来のQuaternion積でベクトルを回転させる方法です。

Unityでは、この面倒くさいQuaternion積の演算が、
「Quaternion * Vector3」だけでできるようになっています。

912 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 21:55:15.62 ID:AuQKwcV0.net]
Vector3 = Quaternion * Vector3
は、行列積を意識していると思われます。

Vector3 = Matrix3x3 * Vector3
としたいところですが、
UnityにはMatrix3x3は用意されていません。
(3×3行列の乗算では、回転とスケーリングしかできないからです)

Vector4 = new Vector4(Vector3, 1) で4次元ベクトルにしてから、
Vector4 = Matrix4x4 * Vector4 で計算して、
Vector3 = (Vector3)Vector4 で3次元ベクトルへ戻す必要があります。

最初に、Vector4 = (Vector4)Vector3 と手抜きをしてはいけません。
Vector4 = new Vector4(Vector3, 0) で代入されると、
アフィン変換の「移動」が乗算されなくなります。

913 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 23:49:37.69 ID:zts/k6NY.net]
行列なんか意識しないでも3dゲーム作れるようになったんだからすごい時代だよね
結構まえからだけど

914 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 23:54:59.29 ID:N8/aZDnG.net]
>>871
へー、なるほどなぁ‥

915 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 01:39:47.96 ID:TM1zyrgU.net]
>>865
年契約の1ヶ月払いってだけなんですね
ありがとうございます



916 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 04:19:45.41 ID:L6b+QAfA.net]
なるほど よくわからん

917 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 11:35:10.31 ID:a5awPS/6.net]
>>875
半額だったんでplusを年契約の年払いしたよ
売り上げ1千万以上なのに。
たかだか1万円ぐらいを月払いする奴いるの?

918 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 12:38:14.64 ID:c63jfGrC.net]
物理演算系の解説を希望!

C#の経験あっても、そもそも物理演算は別物な気がする・・・

物理演算は、2Dと3Dで若干仕様が違うし、なかなか体系的に物理演算を解説しているサイトも少ない
せいぜい、velocityとAddForce止まりが多い

重力設定や衝突判定をUnityにまかせてしまうには、物理演算を使用するのが手っ取り早いんだけど、
物理演算だと、これまでのグラフィックス操作的な、プログラミングメソッドがあまり使えない
(基本的に、positionやrotationを直接いじらないほうが良いみたい)

919 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 12:46:53.83 ID:bN2Y1bPS.net]
アイテムを所持していればお化けを倒せるというシステムにしようと思っています。
それでそのアイテムを十字架の画像にしようと思っているのですが、日本人だったらアイコン見ただけで何となく意味が分かるだろうと思うのですが、海外の人でも抵抗なくスッと理解されるんでしょうか?

920 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 13:05:51.44 ID:DzxyY709.net]
>>879
アセットを購入すればいいですよ

921 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 15:58:23.54 ID:59uPCR9L.net]
>>879
海外のゲームを参考にすればわかりますよ

922 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 16:32:05.45 ID:kzY3QNw/.net]
>>879
ゲームデザインにもよるけど

そのアイテムの効果とお化けとの相互関係が分かるような物なら多分大丈夫かなぁ アイテム説明とかも結構重要だけども。

923 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 16:54:14.50 ID:bO73tzHJ.net]
アイテム説明が一番確実

924 名前:だわな
むしろ必須じゃないか?
[]
[ここ壊れてます]

925 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 20:05:01.07 ID:c63jfGrC.net]
transform.LookAtだと、どうしてもオブジェクトのforward軸が対象を向いちゃう
そうじゃなくて、オブジェクトのup軸を対象に向けたいんだけど、一体どうすれば・・・?

transform.LookAtでオブジェクトのforward軸を対象に向けて、
その後にtransform.Rotateでx軸で90度して、up軸をforwardへ向けているんだけど、
2段階になっちゃって、無駄が多いし、その瞬間動作が表示されちゃう

オブジェクトとtransform軸の対応を変更できれば、
オブジェクトのup軸方向を、forward軸に設定したいんだけど・・・



926 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 20:51:06.18 ID:PCtIHB7r.net]
おぶじえくを最初から傾けておくか、小オブジェクトで対応するか、いくらでも方法あるだろうね。
ルックアット使わずにやるのも有りだし。

927 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 23:29:48.61 ID:nw+wySXa.net]
>>884
目標の座標をVector3 targetとすると、

transform.right = targetでいけませんか?

transform.LookAt(target) は、
transform.forward = target と同じになるはずです。

928 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 23:37:17.53 ID:nw+wySXa.net]
もっとも汎用性のある方法は、
向き(transform.rotation)を、
向けたい軸(Vector3.right)を向かせたい相手(target)へ向ける回転
Quaternion.FromToRotation にしてしまう方法かと思います。

transform.rotation = Quaternion.FromToRotation(Vector3.right, target)
になります。

例えば、左側をtargetに向けたい場合、
Vector3.right を、- Vector3.right に変更します。
(Vector3.right = - target でも勿論できます)

ただ、Vector3.oneをtargetに向ける回転は、
transform軸への代入ではできず、
上記の汎用法を使うのが良いと思います。

929 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 23:38:56.71 ID:nw+wySXa.net]
>>884

読み間違えました。
up軸を向けるのでしたね。

@transform.up = target

Atransform.rotation = Quaternion.FromToRotation(Vector3.up, target)

930 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 01:09:49.63 ID:yxJiRP9K.net]
先生、お元気ですか?

ゲームの世界は感覚的すぎて戸惑います。
学び舎では多くを教わりましたが、教わった通りに自分が成長できているか分かりません。
ぼくは、自分の理想の世界観を語れるほどゲームを知らないということを知りました。

惹かれます。

ゲームを、もっと知りたいです。

931 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 02:04:26.56 ID:hBjssZ70.net]
>>889
どこかで見た文章だけど、元ネタが思い出せない・・・

932 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 05:13:21.04 ID:nt3lwpZi.net]
>>883
文字で説明しないと伝わらないUIはデザインとしてゴミ以下

933 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 10:52:27.48 ID:rc5ijf27.net]
質問です
友人がウインドウズで9人対9人のオンラインゲームを作りたいと言ってます
それはつまり18人がオンライン接続してゲームするわけですが
そんなことUnityでやれますか?

934 名前:ダーク王鍬大使 mailto:sage [2017/12/16(土) 12:23:08.13 ID:finBREYt.net]
出来まふよ(^^

935 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 14:06:22.45 ID:OPi28kIP.net]
何でできないって思うんだろうな



936 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 14:10:10.05 ID:2jMajkmZ.net]
Unityは出来るけど彼らには出来ない
悲しいけどこれ、ゲーム制作なのよね

937 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 15:56:35.74 ID:fmqmdkMD.net]
無料で利用できる範囲は同時接続20人まで
21人〜50人まで月額4200円
51人〜200人まで月額15000円






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<338KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef