[表示 : 全て 最新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/

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円

938 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 16:08:28.62 ID:ovrxOZck.net]
パーソナル版の使用条件として収益が〜ドル以下みたいな規約がありますが、
あれは自己申告なのでしょうかそれとも向こうでも逐一判断できる状態なんでしょうか。

939 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 16:56:22.84 ID:OPi28kIP.net]
>>897
判断できる状態ってどんな状態?
自己申告だけどものすごく稼いでた

940 名前:ら嫌でも目に留まる []
[ここ壊れてます]

941 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 17:44:22.66 ID:YMI0KZPt.net]
「人生はゲームのようにプレーしろ。真理は恐ろしいものではない。」

942 名前:名無し@キムチ [2017/12/16(土) 19:19:52.45 ID:ODGviKVk.net]
>>888
>up軸を向ける

up軸を相手に向けるというのが、当方にはどんな状態なのか、ピンとこないです。
具体的には頭のてっぺんを相手に向けるということなのですか?
それはどんなシチュエーションのゲームなんだろう?
これから相手に頭突きをかますとか?それなら、頭だけを下げればいいわけだし・・・
申し訳ないが、まるで映像が浮かんできません・・・www

943 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 22:30:34.88 ID:zgsa9dPV.net]
落ちものパズルを作成していて画面上部にオブジェクトを出現させて横軸のマウスの動きについてきてクリックでオブジェクトが落下。
というような仕様にしたいのですが、ランダムにオブジェクトを作成して画面上部に固定というのが出来ません。これの解決法が見つかりません。。。

どうかご教授お願いします。

944 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 22:50:27.94 ID:hBjssZ70.net]
例えば、太陽を中心に地球が公転をする時のようなイメージで、

常に同じ面(赤道面)を太陽に向けて公転する場合は、forwardを太陽に向かせればよいけど、

太陽の真上に北極星をおいて、北極側の地軸を常に北極星に向かせたまま公転する場合は、
up軸を北極星に向ける必要がある

(実際の地球はそんな回転はしないけど、そういう状況を作りたいときに必要かも)



945 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 22:58:57.30 ID:hBjssZ70.net]
あるいは、飛行機の宙返り飛行かも?!

普通、飛行機の前後にforward軸をとるはず
transform.position += Vector3.forwardで前へ進み、

taransform.RotateionAroundで、上空に設定したループ中心回りを公転して宙返り
その際、飛行機の背中(上下のup軸)はループ中心を向けていないといけない

946 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 23:03:43.75 ID:yxJiRP9K.net]
人生は神ゲーだ。
本気でがんばるとぎりぎり倒せるように絶妙のバランス調節がされた敵。
単純作業じゃ効率が悪いけど、工夫次第でどんどん効率を上げられる経験値システム。
リセット不可の緊張感。でもシレンとかよりずっと死ににくいからあんま気にする必要なし。つーか普通のゲームでもリセットなんて邪道じゃん。
全てのキャラが深い人間性と歴史を持って登場する、圧倒的リアリティ。
グラフィックが綺麗すぎ。多分、無限×無限ピクセルで、毎秒無限フレームで動いてる。色も多分無限色使える。夕焼けとかマジありえねー美しさ。
BGMの種類がほぼ無限。選曲も自由。自分で作った曲を流すこともできる。人間が作ったとは思えない、とんでもなく複雑で洗練されたシナリオ。
リアル出産システム採用。自分と、自分よりも大切に思える相手の遺伝子を半分ずつ受け継いだ、奇跡のようなキャラを生み出して、そいつに自由に色々教えて育てることができる。
すごく嬉しいし、ちょー楽しい。ネコっつー生き物が登場するんだけど、これがちょーかわいい。
食いきれねーほどの種類の料理があって、超うまいものが時々食える。
説明書が無く、仕様が明かされてないから、自分でデータとって仕様を推測するしかない。これがまたとんでもなく高度に洗練された仕様になってるっぽくて、なかなか正確には分からん。
だから、とりあえず大雑把に推定し、それに基づいて行動して、データを取りつつ徐々に予測値を修正していく必要がある。
これがまた楽しい。徐々に明らかになっていく世界観。
未だに明らかになってない謎が山盛り。友達と一緒に協力して遊べる。無料。
本気で自分を愛してくれるキャラがいたりする。ゲーム内で別なゲームやったりアニメ見たり出来る。

エロゲと違って、主人公の勝手な行動でフラグが立つことがない。

登場キャラと本当に心を 通わせることが出来る。信じがたいほど深い感動を味わえるイベントが結構ある。もちろん本気でやらないとフラグを無駄にするだけだが。
こんなとてつもない神ゲーを糞ゲーとか言ってる奴は、本気でこのゲームをやったことがない奴だけ。
まあ、一切がんばらずにクリアできるようなヌルゲーばかりやってる奴には、このゲームはちょいとハードかもしれんがな。でも一端ハマった奴はみんな、このゲームを辞めたくないって言ってるぜ






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

前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