17/12/11 14:58:00.33 HEOTRILb.net
>>764
車の子オブジェクトにすればわざわざ同期なんて取らなくても相対位置と向きを保ったまま車と一緒に動いてくれるでしょう
801:名前は開発中のものです。
17/12/11 16:02:51.94 02QPz9bc.net
このスレの人ってまさか車のモデルをそのままヒエラルキーに配置してそこにスクリプト直付けしてるの?
普通Create Emptyで作った空のオブジェクトの下に作るよね?
802:名前は開発中のものです。
17/12/11 16:34:52.69 T/JrBtRm.net
全体的に、自分で色々工夫してみることをしないで人に答えを求める輩が多い気はするね。
プログラミングに答えはなくて目的の結果になる方法はいくつもあるのに他人のやり方を真似したがる人が多すぎるねここ。
803:名前は開発中のものです。
17/12/11 16:36:31.43 B36sEdco.net
人それぞれ。結果が満足なら中身なぞどうてもいい。
自分なりの作り易さを模索するだけさ。
804:名前は開発中のものです。
17/12/11 16:38:59.95 VIjb3sER.net
TanksにLeftDustTrailとRightDustTrailって入ってるじゃろ
805:名前は開発中のものです。
17/12/11 16:39:28.70 T/JrBtRm.net
他で例えると
攻略本無いとゲームを出来ない人とか
うまいラーメン本に紹介されてるラーメン屋にしかいけない人とか
ジグソーパズルを買って全部人に作らせてる人とか
何かしら他人の助けがないとダメで自分で工夫できない人というか
そんなのに似てる気がする
806:名前は開発中のものです。
17/12/11 16:41:13.85 T/JrBtRm.net
そんな俺はUnityはプラモとかDIYと同じだと思っている
807:名前は開発中のものです。
17/12/11 16:44:46.62 VIjb3sER.net
チュートリアルで例(ひな型?)が示されてるのに、やってないだけだよ
やって気付かないってのはありえない
808:名前は開発中のものです。
17/12/11 17:01:29.50 xcDA2XWm.net
このスレっていっつもマウント取るか嫌味しか言わない上級者様ばっかだよね
なんで質問スレにいるの?
自分なりに試行錯誤して分からない結果聞きに来てる初心者の自分からしたら意味が分からない
809:名前は開発中のものです。
17/12/11 17:08:45.71 B36sEdco.net
>>775
捻くれたやつなんかスルーしとけ。教えてくれた人にはお礼を言う。
他人の成長が怖くて、少しでも時間を削ろうとしてるのさ。
810:名前は開発中のものです。
17/12/11 17:13:36.54 Gwv7NuWB.net
パソコン買ったらパソコンの使い方講座が無料でついてきたにも関わらず、
そんなの要らない自分で出来るって無視したのお前やろ
だったら人に聞かずにやるのが筋ってもんじゃあないの?
811:名前は開発中のものです。
17/12/11 17:16:53.36 xcDA2XWm.net
>>776
そうだね、ありがとう
最初から堅苦しいマニュアル一から読んで自分の手動かそうとしない奴らの作ってるゲームが面白いとは全く思えないんだけどなあ
812:名前は開発中のものです。
17/12/11 17:20:38.93 HEOTRILb.net
>>775
"同期"なんて用語を知ってるのに子オブジェクトが分からないという、なかなか不思議な学習曲線を辿ってるみたいだから理解されなくてもまぁ仕方ないかも
チュートリアルどれくらいやった?
813:名前は開発中のものです。
17/12/11 17:21:19.77 7znfHEz6.net
効率を求めた結果、本末転倒になってりゃ世話ない
814:名前は開発中のものです。
17/12/11 17:36:21.95 rG1bqsx7.net
少しここ覗いてたけど、質問しようなんて気にならない
Unityを使ってる知り合いを作る方が早いしためになるからそうしたわ
815:名前は開発中のものです。
17/12/11 18:05:09.66 rJi7rAoj.net
Transform c = transform.GetChild(0).GetChild(0);
Transform b = transform.GetChild(0);
Transform a = transform;
a.parent = b;
b.parent = c;
これ動かしても親子変わらないのは仕様ですか?
816:名前は開発中のものです。
17/12/11 18:18:16.44 02QPz9bc.net
そうだぞ
引きこもりのお前らを社会に戻すために俺はここで嫌味を書き込んでいる
さっさとエンジニアの知り合いを作りたまえ
817:名前は開発中のものです。
17/12/11 18:26:44.90 6snW9ojT.net
あんたいいやつだな
818:名前は開発中のものです。
17/12/11 18:32:42.55 v+pV5X5w.net
車の排気ガスについて、
移動した車に付いていくアニメーション的な排気ガスにするパターンと
排気ガス自体は、移動前の車の位置に留まり、その場でフェードアウトしていき、
移動した車が次々に新たな位置に排気ガスを生成していくパターンが有ると思う
前者は、アフターバーナーみたいな、付いていくタイプ
後者は、飛行機雲みたいな、置いてくるタイプ
子オブジェクトとして生成するか、
独立オブジェクトして生成するかは、好みによるのでは・・・
819:名前は開発中のものです。
17/12/11 18:40:23.63 T/JrBtRm.net
初心と無能を間違えてはいけない
基礎を勉強し身につけた者だけが初心を名乗れる
基礎をやらず教えて君は無能だよ
取説読まない
何もやらない
全部すぐ人に頼る
これは初心者じゃない
教習所に通わずいきなり車を運転しようとしてるやつ
これも初心者じゃない
初心
これの意味をもっとよく考えてから質問しよう
プラモ買って説明書読まない組んでて
途中で出来ないから作り方教えてくれという自称初心者がいたらどう思う?
説明書をまず読めと思わないか?
質問の質
820:があまりにも低すぎるのが問題
821:名無し@キムチ
17/12/11 19:11:07.14 bqjs8mgU.net
>>783
エンジニアよりキムヨナと知り合いたいな・・
822:名前は開発中のものです。
17/12/11 19:11:25.30 6tubAqHL.net
>>782
root同士じゃないと出来ない組み合わせなかったっけ?
cとbを
c.transform.parent = null;
b.transform.parent = null;
で親子解除すれば出来る
823:名無し@キムチ
17/12/11 19:16:57.23 bqjs8mgU.net
>>786
初心者とはそんな難しいもののことではない。
単純にビギナーのことだ。
824:名前は開発中のものです。
17/12/11 19:20:05.88 rG1bqsx7.net
そういえばUnity初心者スレってないのな
825:名前は開発中のものです。
17/12/11 19:32:44.82 T/JrBtRm.net
>>789
ビギナーは英語で初心者という意味
>初心者とはそんな難しいもののことではない。
>単純に初心者のことだ。
自分の発言が情けないほど意味不明になると思わない?
基礎を学ばずにいるとこうやって無能を晒し恥をかくだけ
分かりやすい例になってくれてありがとう!
826:名前は開発中のものです。
17/12/11 20:07:01.75 qY5Wc6Xa.net
チュートリアルすらやってないドキュンとか、
補助輪取れないアホは無視でいい
827:名前は開発中のものです。
17/12/11 20:22:52.74 g06Ln43v.net
>>786
完全にクレーマーw
828:名前は開発中のものです。
17/12/11 20:52:55.52 u584Mmdp.net
>>786
では質問、外部サイトの情報をスクレイピングして情報を抽出するゲームを作成しています。
読み出すサイトの文字コードに合わせてSystem.Text.Encodingクラスを用いて変換しているのですが、エディタ上で動かすと正しく動きますが、実機にビルドするとsjisやeucjpなどでエラーとなります。これは何故でしょうか?
829:名前は開発中のものです。
17/12/11 21:01:24.21 u584Mmdp.net
さて>>794の答え合わせだ。
スタンドアロンプレイヤーはデフォルトでI18n.dllとI18n.CJK.dllを内包しないから、これらをアセット内にぶち込めば解決するが正解な
どうせ質問がちょっと知識や経験が必要な領域になると皆スルーして俺しか答えなくなるんだから仲良くしとけ
>>785
それはヒエラルキー構造もスクリプトも変更する必要はなく、パーティクルのSimulation Spaceを変えるだけで実現可能だよ
エミッタ(=ParticleSystem)自体はどちらであっても車本体の子オブジェクトにして問題ない
830:名前は開発中のものです。
17/12/11 21:03:22.24 wTfFWu/6.net
2.5dのコマンドRPG作るのにplaymakerって使えますかね?
ターン制の処理をこれにさせたいのですが買おうか迷ってます。
831:名前は開発中のものです。
17/12/11 21:04:49.25 pffoEIhS.net
使える
832:名前は開発中のものです。
17/12/11 21:08:29.22 7N8aCxOe.net
785は滑稽だな
リテラシに慣れていないと、公式マニュアルを読んでも、キーワードを聞いても全く頭に入ってこない人もいる
一般的に言って誰にも苦手な分野はある。例えば日本の役所手続きが良い例
適性が無いとの非難があるかもしれないが、本来、道具は、適性とは無関係に操れるものであるべき
ところで自由競争戦力スキルへの適応を2chで強要するのは傲慢無恥・視野偏狭で滑稽である(プ
833:名前は開発中のものです。
17/12/11 21:09:37.13 lT/DnU8s.net
ID:u584Mmdpに全部丸投げで解決だなw
834:名前は開発中のものです。
17/12/11 21:15:59.64 L0Sd+qXD.net
趣味なんて出来なくても死ぬわけじゃないし、
乗れもしない一輪車に勝手に跨って勝手に傷だらけになってるだけじゃない
怪我と弁当は自分持ちで頼むよ
835:名前は開発中のものです。
17/12/11 22:02:19.
836:01 ID:SkZjimvo.net
837:名前は開発中のものです。
17/12/11 23:16:52.47 T/JrBtRm.net
初心者は基礎勉強を習得した後に応用問題などで躓く者
無能は怠慢で基礎勉強をせずに全てに躓く者
そして自分は初心者だと勘違いしてる者
無能と初心者は全然違う
初心者には教えるが怠け者なだけの無能には教えたくはないって人が多いと思う
質問する気になれないなんて者は来なくていいと思う
そいつが消えた所でそいつが困るだけでこっちは何も困らない
どうぞ勝手にお帰り下さいなんじゃないかな?
ましてや自分は初心者だから教えてもらって当たり前なんて思ってる勘違いには特に
悔しいなら無能をやめて初心者になり
教えたい人が思わず教えてやりたくなるような質問したら?
838:名前は開発中のものです。
17/12/11 23:21:47.98 T/JrBtRm.net
>>795
質問ではなく相手を試す問題だと見抜かれてスルーされた事にそろそろ気づこうか
>>798
悪いが発言内容が超明後日方向でずれてるから
839:名前は開発中のものです。
17/12/11 23:28:43.27 T/JrBtRm.net
>>795と>>798の2人は俺の考えに反対やら滑稽やらなら
ニセ初心者のしょーもない今までの質問全てに全部答えてあげてないと
俺そういう場面見てないんだけど
今も俺にレスするよりそっちが先とおもうけど未処理の物が沢山あるよ
明日からもずっと頼むよお2人さん
俺の考えに反対で反論してくるのはそういうことだから
840:名前は開発中のものです。
17/12/11 23:32:55.29 7N8aCxOe.net
ビッグアップル大丈夫か
841:名前は開発中のものです。
17/12/12 00:07:46.96 yWI4yO+J.net
まさかツッパリが足りずに弱音を吐いて「大目に見てくださいよ~~~><」とか懇願してるわけじゃあるまいな
842:名前は開発中のものです。
17/12/12 00:18:39.38 awDx9SbB.net
試行錯誤が大好きなら一生迷走しててええんやで
遠慮すんなよw
843:名前は開発中のものです。
17/12/12 00:29:29.52 K5+QKreg.net
>>801
偉そうに講釈垂れてる人が大勢いるのにこれにレスがつかないの酷すぎないか…
キッチリ1秒後なら
var r = Mathf.Rad2Deg;
Rigidbody.rotation *= Quaternion.Euler(a * r, b * r, c * r);
でどないでしょ
844:名前は開発中のものです。
17/12/12 00:36:52.31 K5+QKreg.net
>>801
rigidbody.rotation *= Quaternion.Euler(rigidbody.angularVelocity * Mathf.Rad2Deg)
のほうが簡単か
845:名前は開発中のものです。
17/12/12 02:09:47.10 s3bcy12n.net
①angle = Vector3(a, b, c).magnitude * Mathf.Rad2Deg
3Dの場合、angularVelocityは、rad/秒で入力するので、
a,b,cはrad/秒で入れているはずだから、
angleは度での入力になるため、
* Mathf.Rad2Degで、rad→度の変換が必要ですね
②axis = Vector3(a, b. c).normalized
これをQuaternion.AngleAxisに入れると、1秒後の回転状態になります
試してみて下さい
Quaternion.Eulerは、
Z軸回転→X軸回転→Y軸回転の連結回転になるので、
計算結果が、角速度での回転状態と合わないですよ
angularVelocityは全軸同時回転ですから
回転ベクトル=
846:回転角 * 回転軸ベクトル で計算しないとダメなはず
847:名前は開発中のものです。
17/12/12 02:14:08.74 K5+QKreg.net
なるほど
勉強になった
ありがとう
848:名前は開発中のものです。
17/12/12 04:00:52.95 kM1br0bK.net
>>795
"unity shiftjis error"でぐぐって一番上に出てくる内容コピってどやってんじゃねーよw
仰られてる知識や経験は、その問題に関してはとくに必要なさそうです
849:名前は開発中のものです。
17/12/12 06:49:36.70 yWI4yO+J.net
809
そういう「より優れた仕様奴隷状態」をドヤる話だと思ってたわ
850:名前は開発中のものです。
17/12/12 07:26:11.46 OlgvJzEy.net
>>812
うん、そのドヤ顔を期待してたw
全く待たずに回答投下してるのに顔真っ赤でスルーされた事に気づけとか書いてる奴がいたのには驚いたが
だかな、この質問俺が数年前過去スレに質問して回答が得られなかった質問なんだわ、その後自己解決して方法も書いたはず
2017年4月のそのTIPS見て、同じようなことで困ってる奴多かったんだなと懐かしく思った記憶がある
>>801
すまん、昨日は撒き餌撒いて寝てしまったので見てなかった
回答はついてる様なので省略するが、物理エンジンで動かす場合、摩擦やら他のオブジェクトとの衝突やらで結果がズレる可能性があることには注意な
851:名前は開発中のものです。
17/12/12 07:26:33.24 yWI4yO+J.net
仕様奴隷「俺はこんなにも素晴らしい奴隷なんだ!もっと俺をこき使ってくれぇええ!!」(ドヤァアアア!!!)
852:名前は開発中のものです。
17/12/12 07:29:16.97 QJDJOOiE.net
レベルデザインに使えるツール教えてください
アセットでもいいです
853:名前は開発中のものです。
17/12/12 07:34:12.06 yWI4yO+J.net
回転もデフォで減速するみたいだな
いちいち生意気なんだよUnity
854:名前は開発中のものです。
17/12/12 08:13:35.13 tVhYuHY1.net
>>816
どんなのを求めているかわからないけどアセットでもいいなら
ProBuilderなんてどうだい?
855:名前は開発中のものです。
17/12/12 09:37:16.36 QJDJOOiE.net
>>818
アセットのセットみたいなのがほしいです
フリーで
856:名前は開発中のものです。
17/12/12 10:39:07.71 qFAu6kJp.net
アセットじゃないけどスケッチアップなんてどうだい?
CADツールだけどUnityでそのままスケッチアップ形式のファイルを読み込むことができるんだ
そしてウェアハウスっていうUnityでいうアセットストアのようなところで他人の作ったオブジェクトをダウンロードできるんだ
ただし無償版でどこまでできるか把握してないから
気になったら調べてごらんよ
857:名前は開発中のものです。
17/12/12 11:37:29.41 V4vKOuq6.net
VS for Macでコーディングしている人いる?
予測コーディングが効かなかったり、最近のアプデで日本語入力がリアルタイムで表示されなくなったり、子音の入力が反応悪かったり
色々ボロボロで進捗やばいんだけどMacでの開発に向いてるテキストエディタ何か無いかしら?
858:名前は開発中のものです。
17/12/12 13:51:05.12 awDx9SbB.net
>>812
どうせキムチだよw
859:名前は開発中のものです。
17/12/12 15:35:32.47 ICWFqCcb.net
>>821
neovim
860:名前は開発中のものです。
17/12/12 17:04:49.48 SinzmT6m.net
VS codeを使うといい
for macは対応が不完全なゴミだがcodeはmacでも完璧に使える
金払ってもいいならRider
861:名前は開発中のものです。
17/12/12 17:13:54.71 md8fOJvX.net
VS codeの怒涛の更新ペースは何事かと思うw
862:名前は開発中のものです。
17/12/12 18:36:56.62 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:名前は開発中のものです。
17/12/12 18:37:14.48 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:名前は開発中のものです。
17/12/12 18:41:32.25 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フレーム分くらいの遅延が生じる模様・・・
②AngleAxis:Vector3(42.4, 37.4, 15.0)
③Euler1:Vector3(45, 30, 0)
④Euler2:Vector3(45, 30, 0)
⑤Euler3:Vector3(45, 30, 0)
angularVelocityをEulerでQuaternionに入れちゃうと、
角速度による回転結果のQuaternionと少し違うようです・・・
AngleAxisでQuaternionに入れる方が正しいみたいですね
866:名前は開発中のものです。
17/12/12 18:52:30.96 w86KIWp6.net
>>817
回転が勝手に減速する話は本当ですか?
AngularDrag = 0にしてない・・・とかではなくて??
RigidbodyをangularVelocityやAddTorqueで回転させて、
1秒ごとにangularVelocityを表示させても、
回転速度は落ちてないようなのですが・・・
867:名前は開発中のものです。
17/12/12 20:43:24.56 s3bcy12n.net
>>827
RigidbodyもRigidbody2Dも、
LinearDragは0が初期値だけど、
AngularDragは0.05が初期値なのが、
気に入らないということでは?
868:名前は開発中のものです。
17/12/12 20:43:27.01 WuPRAOqq.net
今までモーションは、簡単だからmmdで作ってたけどx軸とy軸の計算違うような……
blenderに乗り換えた方がいいのだろうか。
869:名前は開発中のものです。
17/12/12 20:56:14.28 +nER52Ex.net
はい
870:名前は開発中のものです。
17/12/12 21:01:44.29 WuPRAOqq.net
やっぱか……
blenderの勉強してくるわ。
mmd使うとか俺ってほんとにバカ……
871:名無し@キムチ
17/12/12 21:17:33.27 pZVPZZmh.net
>>833
Blenderには気を付けたほうがいい
Blender上では問題なくモーションしてても、unityに取り込んで動かすと、手が体に食い込んだりしているから。
何度か行ったり来たりする必要があるw
872:名前は開発中のものです。
17/12/12 22:25:16.08 oOD9NLJB.net
blender でもやっぱり同じようなこと起きると思うよ
表現力に不満がないならMMDにしとき
873:名前は開発中のものです。
17/12/12 22:32:44.76 9L2xhVzt.net
else ifまで読んだ
そんなか入るの?!
874:名前は開発中のものです。
17/12/13 00:01:44.95 /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:名前は開発中のものです。
17/12/13 00:07:16.00 /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:名前は開発中のものです。
17/12/13 00:35:37.82 /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:名前は開発中のものです。
17/12/13 06:09:25.65 EBksqhAl.net
>>835
そうなのか……
大きい移動とかはスクリプトで制御するしかないのか。
ありがとう
879:名前は開発中のものです。
17/12/13 18:54:39.99 +IrYaRns.net
趣味でUnity使ってゲーム制作してる人と友達になる方法教えてください
880:名前は開発中のものです。
17/12/13 18:59:16.17 w+IYDO+A.net
お断りします
881:名前は開発中のものです。
17/12/13 19:00:06.72 EBksqhAl.net
ツイッターでよくね?
現実で探そうとしてもなかなか見つからんもんだぞ。
882:名前は開発中のものです。
17/12/13 19:11:19.37 6lJsdJ22.net
transformのposition, rotation, scaleって、
なんでtransform.position,transform.rotation,transform.lossyscale
になっていて、transform.scaleじゃないの??
883:名前は開発中のものです。
17/12/13 19:23:08.89 +IrYaRns.net
>>843
日本の活発な交流サイトとかはなさそうですね…ありがとうございます
884:名前は開発中のものです。
17/12/13 19:54:49.63 IotT1rVx.net
>>845
ツイッター
FacebookのUnity寄り合い所
あとはリアルのイベント
ゲームジャムやエンジニア向け勉強会に参加して交流、名刺交換、SNS垢の相互フォローなどすれば簡単に知り合いは増える
ちゃんと進捗をSNS上で報告すれば質問とかも答えてもらえる
イベントを探すならdoorkeeper、atnd、peatix
885:名前は開発中のものです。
17/12/13 20:48:15.04 /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:名前は開発中のものです。
17/12/13 20:58:06.39 Kxr7McTA.net
>>847
おお、中の人?w
887:名前は開発中のものです。
17/12/13 22:56:29.30 /jokcbje.net
Unityでは、アフィン変換を行う4×4行列であるMatrix4x4が、
TRS(Vector3 position, Quaternion rotation, Vector3 lossy scale)
によって構成されていて、
スケーリング→回転→移動の順に適用するようにしています。
最初にスケーリングを行うことで、
3×3行列の対角成分しか使わず、Vector3で済みます。
RigidbodyのinertiaTensorも一緒で、
本来は3×3行列が必要な慣性モーメントテンソルを、
慣性主軸系に限定することで、対角成分しか使わず、
Vector3の主慣性モーメントで済むようにしています。
888:名前は開発中のものです。
17/12/13 23:01:57.61 /jokcbje.net
>>848
Unity自体はそれほど詳しくないですが、
物理演算系とか、3D数学が専門なので。
889:名前は開発中のものです。
17/12/13 23:04:15.99 bbkFRctl.net
神になった気分だ。
スキルアップした今、どんなジャンルの仮想世界を作れと言われても
その詳細さえ教えてもらえれば
一瞬でどんなデータ構造/アルゴリズムで作ればいいかや
どんなデザインパターンを使えばいいかが
一瞬で頭にひらめき、スラスラとコードを書きはじめることができ、
予期せぬバグとかがなければ短期間でそのソフトやツールを一人で作る自信がある。
この予期せぬバグとはふだん使ってない昔やったプログラミング言語の細かい文法関
890:連のことだけで それはすぐ見直してカンを取り戻せばいいから全く問題ない。
891:名前は開発中のものです。
17/12/13 23:09:45.76 Kxr7McTA.net
>>851
いいから、お前は早く作れ!w
892:名前は開発中のものです。
17/12/13 23:11:16.24 Kxr7McTA.net
>>850
専門?3d系プログラマ?
893:名前は開発中のものです。
17/12/13 23:36:39.33 fbUZmcUU.net
transform.lossyscale.x = transform.parent.locssyScale.x * transform.localscale.x
じゃないのか?
894:名前は開発中のものです。
17/12/14 00:23:40.49 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:名前は開発中のものです。
17/12/14 00:33:15.69 AuQKwcV0.net
Scaleの積は、Vector3の各成分とVector3の各成分の積なので、
Vector3 * Vevtor3 は定義されていないから、
Vector3.Scale(Vector3, Vevtor3) という演算ですね。
いわゆる、アダマール積(シューア積,要素積)です。
Unityでは、アダマール積の逆関数が定義されていないので、
自分でVector3.Scaleの逆関数を定義するか、
アダマール積の逆数を自分で定義する必要がありますね。
896:名前は開発中のものです。
17/12/14 02:05:43.30 tWpTkhe5.net
Vuforiaを使ってAR作りたいのですが実行するとマーカーは認識するもののカメラの映像が映らずに画面が黒くなります
誰か分かる方いらっしゃいますか...?
897:名前は開発中のものです。
17/12/14 08:31:00.73 fpuqjDVR.net
専門ってのは専門学校の事だろw
898:名前は開発中のものです。
17/12/14 08:46:47.19 xj1b5N68.net
>>858
専門学校出身だったら行列の回転だとかをQuaternionとかでも適用して使えるんだろなー
という煽りレス
899:名前は開発中のものです。
17/12/14 11:08:53.86 X1xy6sbZ.net
plus一ヶ月契約でもエッセンシャルパック2つってもらえますか?
あるいは契約し続けないと使えなくなる感じかな
900:名前は開発中のものです。
17/12/14 12:22:42.24 JR7j67YV.net
>>859
Unityって、もともと回転行列じゃなくて、クォータニオンで回転しているんじゃないの??
901:名前は開発中のものです。
17/12/14 13:13:10.01 6Eg6sRVA.net
>>861
Matrix4x4というのがあってね...
でも正直に言おう アレは何だ?!
902:名前は開発中のものです。
17/12/14 15:25:57.18 UIHENBZT.net
数学難しいですね
でも大丈夫!UNITYにはアセットが有りますよ!
アセットを購入しましょう!
903:名前は開発中のものです。
17/12/14 17:52:04.05 V0Mq7RkO.net
>>863
お前ニセモノだな!
904:名前は開発中のものです。
17/12/14 19:01:47.53 EAIFpwQr.net
>>860
契約切れても有効だけどそもそもplus/pro自体12ヶ月継続必須だから前提が無理
905:名前は開発中のものです。
17/12/14 19:21:23.88 JR7j67YV.net
>>862
3次元のベクトルを回転させるのに、なんで4x4行列なの?
回転行列って、3x3行列じゃないの??
906:名前は開発中のものです。
17/12/14 20:39:20.26 AuQKwcV0.net
>>866
移動と回転とスケーリングができるように、
アフィン変換行列になっているからです。
Matrix4x4.TRS(position, rotation, scale)
で4×4行列に入力できますが、
出力する時は、
Vector3 = Matrix4x4.MultiplyVector(Vector3)
によって、Vector3で入力して、
Vector3で出力できるようになっています。
907:名前は開発中のものです。
17/12/14 20:55:53.20 N8/aZDnG.net
>>867
はえ~すっごい‥
908:名前は開発中のものです。
17/12/14 21:30:51.37 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:名前は開発中のものです。
17/12/14 21:32:41.20 AuQKwcV0.net
Matrix4x4 M = Matrix4x4.TRS (Vector2.zero, Q, Vector2.one);
は間違いで、
Matrix4x4 M = Matrix4x4.TRS (Vector3.zero, Q, Vector3.one);
が正しいです。
911:名前は開発中のものです。
17/12/14 21:45:36.22 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:名前は開発中のものです。
17/12/14 21:55:15.62 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:名前は開発中のものです。
17/12/14 23:49:37.69 zts/k6NY.net
行列なんか意識しないでも3dゲーム作れるようになったんだからすごい時代だよね
結構まえからだけど
914:名前は開発中のものです。
17/12/14 23:54:59.29 N8/aZDnG.net
>>871
へー、なるほどなぁ‥
915:名前は開発中のものです。
17/12/15 01:39:47.96 TM1zyrgU.net
>>865
年契約の1ヶ月払いってだけなんですね
ありがとうございます
916:名前は開発中のものです。
17/12/15 04:19:45.41 L6b+QAfA.net
なるほど よくわからん
917:名前は開発中のものです。
17/12/15 11:35:10.31 a5awPS/6.net
>>875
半額だったんでplusを年契約の年払いしたよ
売り上げ1千万以上なのに。
たかだか1万円ぐらいを月払いする奴いるの?
918:名前は開発中のものです。
17/12/15 12:38:14.64 c63jfGrC.net
物理演算系の解説を希望!
C#の経験あっても、そもそも物理演算は別物な気がする・・・
物理演算は、2Dと3Dで若干仕様が違うし、なかなか体系的に物理演算を解説しているサイトも少ない
せいぜい、velocityとAddForce止まりが多い
重力設定や衝突判定をUnityにまかせてしまうには、物理演算を使用するのが手っ取り早いんだけど、
物理演算だと、これまでのグラフィックス操作的な、プログラミングメソッドがあまり使えない
(基本的に、positionやrotationを直接いじらないほうが良いみたい)
919:名前は開発中のものです。
17/12/15 12:46:53.83 bN2Y1bPS.net
アイテムを所持していればお化けを倒せるというシステムにしようと思っています。
それでそのアイテムを十字架の画像にしようと思っているのですが、日本人だったらアイコン見ただけで何となく意味が分かるだろうと思うのですが、海外の人でも抵抗なくスッと理解されるんでしょうか?
920:名前は開発中のものです。
17/12/15 13:05:51.44 DzxyY709.net
>>879
アセットを購入すればいいですよ
921:名前は開発中のものです。
17/12/15 15:58:23.54 59uPCR9L.net
>>879
海外のゲームを参考にすればわかりますよ
922:名前は開発中のものです。
17/12/15 16:32:05.45 kzY3QNw/.net
>>879
ゲームデザインにもよるけど
そのアイテムの効果とお化けとの相互関係が分かるような物なら多分大丈夫かなぁ アイテム説明とかも結構重要だけども。
923:名前は開発中のものです。
17/12/15 16:54:14.50 bO73tzHJ.net
アイテム説明が一番確実
924:だわな むしろ必須じゃないか?
925:名前は開発中のものです。
17/12/15 20:05:01.07 c63jfGrC.net
transform.LookAtだと、どうしてもオブジェクトのforward軸が対象を向いちゃう
そうじゃなくて、オブジェクトのup軸を対象に向けたいんだけど、一体どうすれば・・・?
transform.LookAtでオブジェクトのforward軸を対象に向けて、
その後にtransform.Rotateでx軸で90度して、up軸をforwardへ向けているんだけど、
2段階になっちゃって、無駄が多いし、その瞬間動作が表示されちゃう
オブジェクトとtransform軸の対応を変更できれば、
オブジェクトのup軸方向を、forward軸に設定したいんだけど・・・
926:名前は開発中のものです。
17/12/15 20:51:06.18 PCtIHB7r.net
おぶじえくを最初から傾けておくか、小オブジェクトで対応するか、いくらでも方法あるだろうね。
ルックアット使わずにやるのも有りだし。
927:名前は開発中のものです。
17/12/15 23:29:48.61 nw+wySXa.net
>>884
目標の座標をVector3 targetとすると、
transform.right = targetでいけませんか?
transform.LookAt(target) は、
transform.forward = target と同じになるはずです。
928:名前は開発中のものです。
17/12/15 23:37:17.53 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:名前は開発中のものです。
17/12/15 23:38:56.71 nw+wySXa.net
>>884
読み間違えました。
up軸を向けるのでしたね。
①transform.up = target
②transform.rotation = Quaternion.FromToRotation(Vector3.up, target)
930:名前は開発中のものです。
17/12/16 01:09:49.63 yxJiRP9K.net
先生、お元気ですか?
ゲームの世界は感覚的すぎて戸惑います。
学び舎では多くを教わりましたが、教わった通りに自分が成長できているか分かりません。
ぼくは、自分の理想の世界観を語れるほどゲームを知らないということを知りました。
惹かれます。
ゲームを、もっと知りたいです。
931:名前は開発中のものです。
17/12/16 02:04:26.56 hBjssZ70.net
>>889
どこかで見た文章だけど、元ネタが思い出せない・・・
932:名前は開発中のものです。
17/12/16 05:13:21.04 nt3lwpZi.net
>>883
文字で説明しないと伝わらないUIはデザインとしてゴミ以下
933:名前は開発中のものです。
17/12/16 10:52:27.48 rc5ijf27.net
質問です
友人がウインドウズで9人対9人のオンラインゲームを作りたいと言ってます
それはつまり18人がオンライン接続してゲームするわけですが
そんなことUnityでやれますか?
934:ダーク王鍬大使
17/12/16 12:23:08.13 finBREYt.net
出来まふよ(^^
935:名前は開発中のものです。
17/12/16 14:06:22.45 OPi28kIP.net
何でできないって思うんだろうな
936:名前は開発中のものです。
17/12/16 14:10:10.05 2jMajkmZ.net
Unityは出来るけど彼らには出来ない
悲しいけどこれ、ゲーム制作なのよね
937:名前は開発中のものです。
17/12/16 15:56:35.74 fmqmdkMD.net
無料で利用できる範囲は同時接続20人まで
21人~50人まで月額4200円
51人~200人まで月額15000円
938:名前は開発中のものです。
17/12/16 16:08:28.62 ovrxOZck.net
パーソナル版の使用条件として収益が~ドル以下みたいな規約がありますが、
あれは自己申告なのでしょうかそれとも向こうでも逐一判断できる状態なんでしょうか。
939:名前は開発中のものです。
17/12/16 16:56:22.84 OPi28kIP.net
>>897
判断できる状態ってどんな状態?
自己申告だけどものすごく稼いでた
940:ら嫌でも目に留まる
941:名前は開発中のものです。
17/12/16 17:44:22.66 YMI0KZPt.net
「人生はゲームのようにプレーしろ。真理は恐ろしいものではない。」
942:名無し@キムチ
17/12/16 19:19:52.45 ODGviKVk.net
>>888
>up軸を向ける
up軸を相手に向けるというのが、当方にはどんな状態なのか、ピンとこないです。
具体的には頭のてっぺんを相手に向けるということなのですか?
それはどんなシチュエーションのゲームなんだろう?
これから相手に頭突きをかますとか?それなら、頭だけを下げればいいわけだし・・・
申し訳ないが、まるで映像が浮かんできません・・・www
943:名前は開発中のものです。
17/12/16 22:30:34.88 zgsa9dPV.net
落ちものパズルを作成していて画面上部にオブジェクトを出現させて横軸のマウスの動きについてきてクリックでオブジェクトが落下。
というような仕様にしたいのですが、ランダムにオブジェクトを作成して画面上部に固定というのが出来ません。これの解決法が見つかりません。。。
どうかご教授お願いします。
944:名前は開発中のものです。
17/12/16 22:50:27.94 hBjssZ70.net
例えば、太陽を中心に地球が公転をする時のようなイメージで、
常に同じ面(赤道面)を太陽に向けて公転する場合は、forwardを太陽に向かせればよいけど、
太陽の真上に北極星をおいて、北極側の地軸を常に北極星に向かせたまま公転する場合は、
up軸を北極星に向ける必要がある
(実際の地球はそんな回転はしないけど、そういう状況を作りたいときに必要かも)
945:名前は開発中のものです。
17/12/16 22:58:57.30 hBjssZ70.net
あるいは、飛行機の宙返り飛行かも?!
普通、飛行機の前後にforward軸をとるはず
transform.position += Vector3.forwardで前へ進み、
taransform.RotateionAroundで、上空に設定したループ中心回りを公転して宙返り
その際、飛行機の背中(上下のup軸)はループ中心を向けていないといけない
946:名前は開発中のものです。
17/12/16 23:03:43.75 yxJiRP9K.net
人生は神ゲーだ。
本気でがんばるとぎりぎり倒せるように絶妙のバランス調節がされた敵。
単純作業じゃ効率が悪いけど、工夫次第でどんどん効率を上げられる経験値システム。
リセット不可の緊張感。でもシレンとかよりずっと死ににくいからあんま気にする必要なし。つーか普通のゲームでもリセットなんて邪道じゃん。
全てのキャラが深い人間性と歴史を持って登場する、圧倒的リアリティ。
グラフィックが綺麗すぎ。多分、無限×無限ピクセルで、毎秒無限フレームで動いてる。色も多分無限色使える。夕焼けとかマジありえねー美しさ。
BGMの種類がほぼ無限。選曲も自由。自分で作った曲を流すこともできる。人間が作ったとは思えない、とんでもなく複雑で洗練されたシナリオ。
リアル出産システム採用。自分と、自分よりも大切に思える相手の遺伝子を半分ずつ受け継いだ、奇跡のようなキャラを生み出して、そいつに自由に色々教えて育てることができる。
すごく嬉しいし、ちょー楽しい。ネコっつー生き物が登場するんだけど、これがちょーかわいい。
食いきれねーほどの種類の料理があって、超うまいものが時々食える。
説明書が無く、仕様が明かされてないから、自分でデータとって仕様を推測するしかない。これがまたとんでもなく高度に洗練された仕様になってるっぽくて、なかなか正確には分からん。
だから、とりあえず大雑把に推定し、それに基づいて行動して、データを取りつつ徐々に予測値を修正していく必要がある。
これがまた楽しい。徐々に明らかになっていく世界観。
未だに明らかになってない謎が山盛り。友達と一緒に協力して遊べる。無料。
本気で自分を愛してくれるキャラがいたりする。ゲーム内で別なゲームやったりアニメ見たり出来る。
エロゲと違って、主人公の勝手な行動でフラグが立つことがない。
登場キャラと本当に心を 通わせることが出来る。信じがたいほど深い感動を味わえるイベントが結構ある。もちろん本気でやらないとフラグを無駄にするだけだが。
こんなとてつもない神ゲーを糞ゲーとか言ってる奴は、本気でこのゲームをやったことがない奴だけ。
まあ、一切がんばらずにクリアできるようなヌルゲーばかりやってる奴には、このゲームはちょいとハードかもしれんがな。でも一端ハマった奴はみんな、このゲームを辞めたくないって言ってるぜ
947:名前は開発中のものです。
17/12/16 23:05:25.75 hBjssZ70.net
いいや、違うな・・・
おそらく、2DでLookAtが使えないからかもしれない!
2Dだと、forwardはZ方向、つまり、奥方向が前になる
2DでLookAtすると、forwardを対象物に向けるため、
スプライトが画面に対して垂直に立っちゃうからかも?
例えば、振り子運動させる時、上方に振り子の中心点を設定して、
左下45度から右下45度へ向かってRotateAroundで公転した場合、
オブジェクト上方=up軸を振り子の中心点へ向けないといけない
そもそも、2Dではup軸かright軸しか向きを変える際に利用できない・・・
(forward軸を変えたら、2Dでなくなってしまうから)
これが理由のような気がするなあ
948:名前は開発中のものです。
17/12/16 23:07:26.05 hBjssZ70.net
>>901
物理は使う?
2Dなの3Dなの??
Gravityオフにしてオブジェクトを生成すれば、落ちないよ
クリックしされたら、オブジェクトのGravityをオンにしたら良いんじゃ
949:名前は開発中のものです。
17/12/16 23:57:45.09 zgsa9dPV.net
>>906
返信ありがとうございます。
物理は使っています。2Dで制作しています。
プログラムが書けなくてオブジェクトをランダムに生成してクリックでGravityをオンにするっていうようにするのが
どうやればいいのかわからなくて・・・。
950:名前は開発中のものです。
17/12/17 00:00:59.32 CBpPFu99.net
星型のアセットモデルをインポート
↓
Hierarchyに追加して任意の角度(星型が正面に来る)にする
↓
それをプレハブ化
してもInspector内でデフォルトの角度に戻ってしまいます(オブジェクトとして使用する分には任意の角度になるんですが)
星型の弾丸を作ろうと思ってるんですが、プレハブから弾丸にするとデフォルトの変な角度のまま発射されてしまうんですよね…
951:名前は開発中のものです。
17/12/17 01:08:13.95 Vn9M2BoC.net
>>907
プログラムを書けるようになって動かせるようになりたいってこと?
952:名前は開発中のものです。
17/12/17 01:26:30.94 K2bL8mhm.net
>>908
アセット内のプレハブの方のインスペクターで角度を指定すれば、
それをヒエラルキーに持っていっても角度は保たれているはず
スクリプトで動的にプレハブprefabを生成する場合、
生成時に角度Quaternionを指定できる
if?(Input.GetMouseButton?(0))?{ //クリック時
Vector3 position = new Vector3(Random.Range(-10.0f, 10.0f), 10, 0); //x座標をランダムに生成
Instantiate(prefab, transform.position, Quaternion.Euler(x, y, z)); //角度を指定してprefab生成
}
このスクリプトをprefabに載せる
953:名前は開発中のものです。
17/12/17 01:32:40.49
954:K2bL8mhm.net
955:名前は開発中のものです。
17/12/17 02:01:14.46 vcuEPHEk.net
流石にコード無しでDTB作るのは難しいと思うからプログラムを学ぶかかける人を探さないと無理だと思うよ
956:名前は開発中のものです。
17/12/17 02:16:48.31 K2bL8mhm.net
public GameObject Obj; //prefabを指定しておく
Rigidbody2D Rb2D;
public class PrefabCode : MonoBehaviour {
void Update() {
if (Input.GetMouseButton(0)) {
Vector3 position = new Vector3(Random.Range(-10.0f, 10.0f), 10, 0);
GameObject Prefab = Instantiate(Obj, transform.position, Quaternion.Euler(x, y, z));
Rb2D = Prefab.GetComponent<Rigidbody2D>();
Rb2D.gravityScale = 1.0f;
}
}
957:名前は開発中のものです。
17/12/17 02:23:43.91 K2bL8mhm.net
PrefabCodeは、ヒエラルキーで作成した空の2Dオブジェクトにでも入れておいて
もしかして、ランダムはオブジェクト自体か?
オブジェクトの形が数種類あるとか?
その場合は、ランダムでパターン番号0~3とかを指定して、
if文で、違うprefabを生成する文を選択させるのが良いかも
空のオブジェクトのx座標を、マウスのx座標と揃え続けるコードも必要だな
マウスオーバーイベントに書いておく必要ありそう
prefabは空のオブジェクトの位置に生成されるから
958:名前は開発中のものです。
17/12/17 02:48:52.06 2l6FPzGg.net
これで作られたRPGってありますか
ガチャゲーじゃない昔ながらのRPGです
959:名前は開発中のものです。
17/12/17 03:03:25.27 KEqZbS2o.net
>>915
いけにえと雪のセツナ
960:名前は開発中のものです。
17/12/17 03:06:58.30 2l6FPzGg.net
>>916
㌧
セールになったら買ってみます
961:名前は開発中のものです。
17/12/17 03:30:34.88 anx13erV.net
2Dアクションゲームを作成しようとしている初心者です。
tilemap collider2dをアタッチしたtilemapの平面フィールド上で、
rigidbody2dとbox collider2dをアタッチして重力と当たり判定を付与したGameObject(Player)を歩かせたところ、
タイルに引っかかる形で止まってしまいます。
これを回避するためにcapsule collider2d等で接地面を点にすると止まることはなくなります(僅かに減速する)が、
当たり判定を□で判定したい為、可能であればbox collider2dで実装したいと考えています。
tilemapを使用した際のこういった引っかかり挙動を抑えることは可能でしょうか。
962:名前は開発中のものです。
17/12/17 10:25:06.96 kJlZ2G7V.net
足元はcapsuleかcircleにして、
もう1つboxで足元から数ピクセル上を覆えば良いのでは?
collider2Dは1つという制約はないので、複合したら良いんじゃ
963:名前は開発中のものです。
17/12/17 10:31:21.09 kJlZ2G7V.net
>>900
>>888ですが、基本的にforward軸はオブジェクトの前後方向にとっているのですが、
円状(球状)の軌道で旋回しており、その際にオブジェクトの上下方向を、
軌道の中心(球の中心)へ向けておきたいのです・・・
人工衛星やスペースシャトルみたいな感じです
前方は進行方向を向けておいて、なおかつ上下は鉛直軸に揃えたいんです
前方が中心を向いちゃうと、上下に立った状態で周回してしまうので
964:名前は開発中のものです。
17/12/17 10:36:09.95 kJlZ2G7V.net
レスのアンカに引っ張られて間違えましたが、自分は883でした
>>905
2Dだとtransform.LookAtが機能しないんですね!
それじゃ、やっぱりforward以外の軸を向ける機能は大事ですね
>>88
965:6 ビックリです! transform軸に目標座標を入れると、軸がそっちを向くんですね! しかも、正規化して単位ベクトルにするひつようもないみたい そしたら、transform.LookAtいらなくない?!
966:名前は開発中のものです。
17/12/17 16:14:44.68 anx13erV.net
>>919
レスありがとうございます。
当たり判定に違和感がない数ピクセルの差でbox collider2dをアタッチすると引っかかりは生じます。
引っかからない程度に足元を円形にすると角で滑り落ちるようになってしまいます。
DirectionをHorizontalにした角の丸い棒状のcapsulecollider2dでプレイヤーの上下左右を被った場合(角のない箱のような形)は、
引っかかることはなくなりますが、やはりタイルに当たりはするので、極僅かに減速してPlayerが数pixcel浮くことがあります。
またその際、OnCollision~2Dイベントを監視すると、タイルに当たって浮いた瞬間にタイルとの接触判定が一瞬途切れている為、
ジャンプ判定等にも影響が出てしまう(空中にいる判定が誤作動する)のでタイルとの判定自体を正しく動作させたいと考えています。
967:名前は開発中のものです。
17/12/17 17:18:37.08 CBpPFu99.net
回転するステージを作ってます
ステージにspawn位置を子オブジェクトとして設定して、そこから敵を出現させようと思ってるんですが
spawn位置がステージに追従して回転せず、固定されたままになってしまいます
オブジェクトをそのままステージの子にすると回転に追従できるんですが、
Spawnにスクリプトを設定してそこからオブジェクトを選んでくっつけるとどうもうまく行かず…
なにか解決方法はありませんか?
968:名前は開発中のものです。
17/12/17 17:19:26.92 CBpPFu99.net
>>910
遅レスすいません、詳しくありがとうございます。試してみます。
969:名前は開発中のものです。
17/12/17 17:21:12.36 anx13erV.net
>>922
すみません自己解決しました。
edge collider2dを使用するか、box collider2dのedge radiusを0.001に設定することで、
タイルとの衝突(及びOnCollider系イベントの誤発生)はなくなりました。
参考:URLリンク(forum.unity.com)
ありがとうございました。
970:名前は開発中のものです。
17/12/17 17:28:31.76 0i7oG1oj.net
>>886
どういう原理なんだこれ????
971:名前は開発中のものです。
17/12/17 20:19:28.23 Vn9M2BoC.net
position とかと同じように代入できるんだね。リードオンリーだとばかり思ってた
972:名前は開発中のものです。
17/12/17 20:36:30.69 MPKxHq38.net
Unityの人達がどれほど「技術の民主化(デモクラタイズ)」とい
うものに心を払っているかは、多分外部の人達には想像できな
いと思います。この一点においいて、Unityは、世界中に沢山の
ファンを生み出し、そしてエバンジェリズムを行うチームのメンバ
ーも国境や政治制度を越えてひとつになれるのです。
973:名前は開発中のものです。
17/12/17 20:43:06.69 ttDBRzWh.net
その思想は非常に危険
それは即ち低賃金労働者の搾取がゲーム業界においても世界的に起こるようになるということと同義だからだ
974:名前は開発中のものです。
17/12/17 21:44:56.77 FNxE37S9.net
キケンかどうかは立ち位置によるし、資本主義では当たり前の話。
975:名前は開発中のものです。
17/12/17 22:07:45.00 K2bL8mhm.net
>>926
transform軸の座標は、自分のpositionをVector3.zeroとした時の相対座標で設定されている
自分のpositionが原点の場合は、transform軸の座標に目標のpositionを
976:入れれば、 それが勝手に単位ベクトル化されて、方向ベクトルになるみたい でも、自分のpositionが原点でない場合は、 transform軸の座標に「target - trans.position」で自分の座標を引いておく必要がある だから、「target」だけを入れれば良いLookAtの方が簡単にできる(forward軸限定だけど) あと、LookAtは第2引数で、up軸の方向も指定できる (forward軸をtagetに向けた状態で、可能な限りup軸を指定方向に合わせてくれる)
977:名前は開発中のものです。
17/12/17 22:12:13.99 K2bL8mhm.net
>>923
Instantiateで生成する時に、ちゃんと親を指定してる??
動的に生成したオブジェクトは、ステージとの親子関係が切れてない?
Instantiate(Object, Position, Parent)
978:名前は開発中のものです。
17/12/17 22:14:47.35 K2bL8mhm.net
>>922
>>925
edge radiusなんて便利な機能が付いて、
矩形の判定枠の角を丸められるようになったんだね
いつも、足の前後に円形判定をおいたり、
カプセルを横にして置いて、地形判定専用にしてたわ
979:名前は開発中のものです。
17/12/17 22:57:38.86 SNj3ir+c.net
ダメージを受ける毎に敵オブジェクトとかモデルが足元から徐々に(段階的に)赤くなって行くっていうのって、どういう原理で出来るんですか?
色々考えたんですけど思い付かなくて
980:名前は開発中のものです。
17/12/17 23:29:09.88 tMMchmwv.net
けーすばいけーす
981:名前は開発中のものです。
17/12/18 04:52:21.33 B3OUJM41.net
歩くアニメーションがあってそれは実行すると前進するのですが
これをその場で足踏みだけさせるように簡単に変更はできますか?
982:名前は開発中のものです。
17/12/18 08:05:53.43 vc4Z0s4x.net
アニメーション再生するだけで前に動くことは無い
別のスクリプトでオブジェクトを進行方向に動かしているはず
983:名前は開発中のものです。
17/12/18 08:48:59.47 WoyHjqZj.net
>>878
position等を直接いじったらそれはワープしてるのと同じだからね
移動や回転は事象に応じて物理エンジンがするものと考えれば、いろいろ扱いやすくなると思うよ
984:名前は開発中のものです。
17/12/18 09:27:02.70 mba+3hiD.net
>>936
apply root motion
985:名前は開発中のものです。
17/12/18 10:23:29.76 B3OUJM41.net
>>939
apply root motionを指定しても動いてるんですよね。
>>937
歩く以外にもジャンプのアニメーションも上に飛び上がらないようにしたいとかです。
986:名前は開発中のものです。
17/12/18 10:32:53.07 vc4Z0s4x.net
>>940
モーション自体の中で位置が動いてるなら簡単に動かないようにするのは無理
アニメーション編集してルートのトランスフォーム移動のキーを全部削除するしかない
987:名前は開発中のものです。
17/12/18 10:40:39.28 B3OUJM41.net
>>941
やっぱりそれしかないんですね。
自分で削除することにします。ありがとうございました。
988:名前は開発中のものです。
17/12/18 12:00:11.97 jBsoCflG.net
LateUpdateでモーション適用後のトランスフォームを変更できる
ルートのボーンにLateUpdateで位置をlocalPosition=0,0,0にするコンポを付ければいい。
989:名前は開発中のものです。
17/12/18 12:43:15.93 B3OUJM41.net
>>943
ありがとうございます。やってみます!
990:名前は開発中のものです。
17/12/18 13:36:58.58 B3OUJM41.net
>>943
完璧に動作しました!ありがとうございました!!
991:名前は開発中のものです。
17/12/18 14:32:15.73 B4iwR6Ld.net
URLリンク(twitter.com)
リンクすみません。
こういうカーソル位置?というか左右にしたら画面が切り替わるのってどうやれば出来るんでしょう?
マスクみたいな感じですか?
992:名無し@キムチ
17/12/18 19:51:23.56 iM2CjGiv.net
>>886や>>943は優良回答者ですね。
しったかのヘタレ回答者が多い中で、すごいです!!!
993:名前は開発中のものです。
17/12/18 20:19:13.70 AjgZuUm6.net
>>947
貴方も回答者に成るんだよこれから。
994:名無し@キムチ
17/12/18 22:22:26.73 iM2CjGiv.net
>>948
ホントですね。頑張ります!
995:名前は開発中のものです。
17/12/18 22:2
996:4:40.54 ID:zA/nszQ4.net
997:名前は開発中のものです。
17/12/18 22:39:17.53 9Bga0q6S.net
越後製菓!
998:名前は開発中のものです。
17/12/18 23:04:07.96 x75jC3YN.net
最近、質問-回答がちゃんとなされて、質問スレとして機能していて、ビックリ!
ちょっと前なら、アセットで解決!で終了だったのに・・・
スレで出た有用なQ&Aは、誰かどこかにまとめてくれないかね~
999:名前は開発中のものです。
17/12/18 23:11:37.88 x75jC3YN.net
2DはLookAtが使えなくて今まで諦めてたけど、
まさかtransform.rightやtransform.upに直接代入して、
LookAtもどきができるとは、凄く役になったな~
タイルチップで2D背景を作ってたけど、
左右移動時にタイルのつなぎ目で引っかかるから、
高さが同じタイルは、colliderを統合して、
高さが変わるところだけ、別colliderにしてたけど、
これからは、タイルチップ敷布でいけそうだな~
1000:名前は開発中のものです。
17/12/19 00:07:08.24 4Od9SmbT.net
ネトウヨ老害死ねばいいのに
ゲ製コミュの印象悪くして皆の足引っ張りやがって
死ねよ不細工メタボ引き篭もりネトウヨ
1001:名前は開発中のものです。
17/12/19 00:27:04.18 MvhMRTwq.net
まーた、ネトウヨキムチがコミュとか言っちゃって
1002:名前は開発中のものです。
17/12/19 03:06:23.03 Ih0Nk694.net
一応言っておきますが>>947は自分じゃないですよ…
回答頂いた方には皆感謝してます。
1003:955=944
17/12/19 03:07:20.95 Ih0Nk694.net
名前欄ということです。すみません。
1004:名前は開発中のものです。
17/12/19 07:37:16.79 4Od9SmbT.net
>>955
は?なんで俺が「キムチキムヨナ」連呼のネトウヨの最底辺メタボのゴミおっさんなんだよ?糖質が絡んでくるなや
「キムチキムヨナ」連呼のネトウヨの最底辺のゴミおっさんがどこで「コミュニティ」とか言ってやがるんだ?
ゲ製コミュをネトウヨコミュニティと一緒にするなやカス共が
>>956
「!」の使い方といい、文体といい、同じに見えるんだが?
ネトウヨの最底辺のゴミおっさんが、わざわざ文体を真似てるってことか?
1005:名前は開発中のものです。
17/12/19 09:35:09.05 VZwsAqll.net
なんか面倒な人に絡まれてるなぁ955
新スレ作るか。
1006:名前は開発中のものです。
17/12/19 09:36:44.16 VZwsAqll.net
新スレビルド完了です...
【3Dゲームエンジン】Unity質問スレッド33
スレリンク(gamedev板)
1007:名前は開発中のものです。
17/12/19 10:04:53.30 4Od9SmbT.net
なぜ <準コテ「キムチ」で「キムヨナ」連呼> みたいなゴミを、素朴に「ゴミ」と言うことや
ぱっと見で文体が同じに見えることを、素朴に「同じに見える」「一方が真似てる」と言うことが
面倒がられなければならないのか?
素朴な書き込みを面倒がり、ゴミ廃棄を面倒がる奴の方が、よっぽど面倒だぜ?
1008:名前は開発中のものです。
17/12/19 10:13:49.21 hldyKkrz.net
unityにマップを作るtile機能ってあるけど一つのチップセットに対してBoxColliderとかの情報を付けるのってどうすればええんやろ
1009:名前は開発中のものです。
17/12/19 12:04:43.40 m7Eb2COO.net
>>962
アセットをかうしか無いですよ!
1010:名前は開発中のものです。
17/12/19 14:27:52.29 SpU5jUlI.net
>>951
正解
1011:名前は開発中のものです。
17/12/19 15:16:13.61 ZiJMGaxN.net
キチガイがいると迷惑だから分類しないとね
1012:名前は開発中のものです。
17/12/19 15:56:19.98 O0snqTpx.net
>>952
お前が幼稚園や保育園をお望みならそれでいいんじゃない?
まともな小学生以上は自分でググって調べて解決してる
そんな内容ばかりだ
1013:名前は開発中のものです。
17/12/19 16:33:46.69 4R8uUpaI.net
アセットガイジはなんか売ってるんかなぁ…
1014:名前は開発中のものです。
17/12/19 18:11:13.26 OC9tHkfS.net
>>953
むしろ2DでLookAtさせたいだけならオブジェクトAとBの角度を取って画像をRotateさせるだけでいいんじゃないん?w
1015:名前は開発中のものです。
17/12/19 19:22:46.77 Jz5wVrA6.net
>>968
そんな難しいことしたくないじゃん
1016:名前は開発中のものです。
17/12/19 19:29:46.21 oc7hao2D.net
>>968
自分をオブジェクトA
Aのposition = transform.position
目標をオブジェクトB
Bのposition = target
とした場合に、
transform.right = target.position - transform.position
と同じ作用になるようにするには、
>>958の方法ではどうなる??
1017:名前は開発中のものです。
17/12/19 19:59:39.02 IygWzju3.net
>>970
オブジェクト間の角度とる関数あるからしらべて
1018:名前は開発中のものです。
17/12/19 20:25:38.60 v4JsSdmj.net
ベクトル間の角度を出す関数じゃなくて?
ベクトル間の角度だと、原点を中心にした角度になるけど
しかも、それで角度を出すと回転の向きがわからないから、
ベクトルの外積を求める必要もあるよね
1019:名前は開発中のものです。
17/12/19 22:09:39.44 v4JsSdmj.net
>>968
自分でコードを出してみなよ~
命題:オブジェクトAの向きを、オブジェクトBの方向へ向ける
オブジェクトAの座標は任意(原点とは限らない)
オブジェクトAの向きは任意(0度とは限らない)
オブジェクトBの座標は任意(原点とは限らない)
オブジェクトBの位置はVector3で「target」とする
2Dだから、forward軸をtargetへ向かせるLookAtは使用できない
さて、969のコードを超える簡略化ができるのか?!どうか
1020:名前は開発中のものです。
17/12/19 22:16:40.59 m7Eb2COO.net
アセットを購入すれば簡単簡単
1021:名前は開発中のものです。
17/12/19 22:17:29.27 v4JsSdmj.net
そもそも角度って言っても、
それぞれのベクトルの偏角なのか、2つのベクトルのなす角なのか・・・
Rotate(0, 0, θ)で入れるには、
オブジェクトAからオブジェクトBへ向かうベクトルの偏角じゃないとダメだから、
オブジェクトAのベクトルとオブジェクトBのベクトルのなす角を求める
Vector3.Angleを使っても、それじゃA→Bへの原点中心の公転角になっちゃうよ!
rotationに入れるにはQuaternionである必要があるし、
オブジェクトAの最初の向きが0度じゃない場合も考慮しないといけないし・・・
どう考えても面倒じゃない??
1022:名前は開発中のものです。
17/12/19 22:59:56.79 v4JsSdmj.net
アセットおじさんは、
なんていうアセットで、いくらで、どの機能を使うとできるのかも明記して欲しいね~
「探せばあるかもよ」じゃね・・・
1023:名前は開発中のものです。
17/12/20 00:34:43.35 TUVA4DF6.net
>>970
考えてみました。
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; ←ここを置き換えるコードです。
}
}
1024:名前は開発中のものです。
17/12/20 00:39:41.23 TUVA4DF6.net
①Quaternion.FromToRotationを使用する方法1
transform.rotation = Quaternion.FromToRotation (Vector3.right, direction);
②Quaternion.FromToRotationを使用する方法2
transform.rotation = transform.rotation * Quaternion.FromToRotation (transform.right, direction);
③Vector3.Angleを使用する方法1
transform.rotation = Quaternion.Euler(0, 0, Mathf.Sign(Vector3.Dot(Vector3.forward, Vector3.Cross(Vector3.right, direction))) *Vector3.Angle(Vector3.right, direction));
④Vector3.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));
1025:名前は開発中のものです。
17/12/20 00:44:36.57 TUVA4DF6.net
⑤Vector3.Angleを使用する方法3(Rotateを使用)
transform.Rotate (0, 0, Mathf.Sign(Vector3.Dot(Vector3.forward, Vector3.Cross(transform.right, direction))) *Vector3.Angle(transform.right, direction));
⑥Mathf.Atan2を使用する方法1(Rotateを使用)
transform.Rotate (0, 0, Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg - transform.rotation.eulerAngles.z);
⑦Mathf.Atan2を使用する方法2
transform.rotation = Quaternion.AngleAxis(Mathf.Atan2((direction.y, direction.x) * Mathf.Rad2Deg, Vector3.forward);
うーん、どうやっても元よりも長いコードになってしまいます。
オブジェクトAの位置が原点だとか、オブジェクトAの向きが無回転だとか、
条件を付ければ、もう少し簡略化できますが・・・
1026:名前は開発中のものです。
17/12/20 01:00:49.24 TUVA4DF6.net
Quaternion.FromToRotation(A, B)では、
回転方向を含めた回転状態を得られますが、
Vector3.Angle(A, B)では、
1027:ベクトル間の角度しかわからず、向きがわかりません。 また、取得される角度は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軸回転成分だけを取り出して減算します。
1028:名前は開発中のものです。
17/12/20 08:42:36.26 XTZUI7pU.net
969です
>>977-980
詳しく解説ありがとうございました!
やっぱり、角度から行こうとすると結構面倒ですね~
1029:名前は開発中のものです。
17/12/20 18:29:13.04 XTZUI7pU.net
汎用性を考えると、Quaternion.FromToRotationは良さそうですね
これは、あるベクトルを別のベクトルにする回転を返すわけだから、
自分の向きを、自分のベクトルから目標とするベクトルへ向ける回転にするわけですか・・・
1030:名前は開発中のものです。
17/12/20 22:49:28.74 TUVA4DF6.net
>>981
テラシュールブログ
URLリンク(tsubakit1.hateblo.jp)
ここに、Quaternion.FromToRotationの使い方がうまくまとまってました。
>>var diff = (target.position - transform.position ).normalized;
>>transform.rotation = Quaternion.FromToRotation( Vector3.up, diff);
このサイトでは、diffは正規化されているようですが、
基本的に内部で強制的に単位ベクトルになるようなので、
target.position - transform.positioだけで大丈夫そうです。
なお、外積ベクトルを利用する場合は、大きさも影響してきますので、
方向ベクトルは単位ベクトルにしておいたほうが無難です。
1031:名前は開発中のものです。
17/12/20 22:56:36.28 TUVA4DF6.net
なお、私の方法では、外積ベクトルとZ軸の内積をとっていますが、
最終的に符号のみを取り出しているので、大きさが影響しません。
Vector3.Reflect,Vector3.Project,Vector3.ProjectOnPlaneなど、
単位ベクトルに内積を乗算するタイプの関数では、
必ず正規化して単位ベクトルにしてから代入しないと、
計算結果が変わってきますので、注意が必要です。
1032:名前は開発中のものです。
17/12/21 12:35:15.03 rQmWRShb.net
/⌒ヽ
く/・〝 ⌒ヽ すうがくのことわからない
| 3 (∪ ̄]
く、・〟 (∩ ̄]
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
1033:名前は開発中のものです。
17/12/21 13:03:49.54 nBeZymLn.net
算数だぞ。
1034:名前は開発中のものです。
17/12/21 14:22:23.93 8qhc65N4.net
確実に高校数学
中学算数でベクトルは習わない(特定進学校は除く)
1035:名前は開発中のものです。
17/12/21 14:52:32.83 nBeZymLn.net
>>987
つURLリンク(www.google.co.jp)
1036:名前は開発中のものです。
17/12/21 17:37:17.76 mWsXZ6ft.net
年がいくつでも何処からでも学べるんちゃうんか
1037:名前は開発中のものです。
17/12/21 17:41:22.45 ogJEBcpf.net
年寄りは観念が固まってるから、4*4=4+4+4+4とか切り口を変えた柔軟な発想が出来ない
1038:名前は開発中のものです。
17/12/21 17:49:58.06 uW9gzElK.net
柔…軟…???
1039:名前は開発中のものです。
17/12/21 18:12:39.26 p4DyS94v.net
なんだかんだと言ってもITはそれなりの頭がないと出来ない
中学、高校で数学が苦手だった奴にプログラミングはむかない
そんな理由で糞IT専門学校卒の底辺IT奴隷だって素質があって他の業種からみれば高給与
まあ糞IT専門学校に逝っても半分以上は素質がなくて資格も
1040:取れずIT関連企業にも就職できないんだけど
1041:名前は開発中のものです。
17/12/21 18:43:55.99 d8WQwc80.net
Unityのプログラムを、コピペじゃなくて、
自分で考えて、組み立ててコードを書けるってことは、
それなりに数学的な素養があると思うんだよね~
何も行列とかクォータニオンとかを数学的にきちんと理解していなくても、
「そのメソッドで何ができるか」を理解していれば、
たとえメソッドの内部はブラックボックスでも、それを組み合わせて、
ちゃんと機能するコードが書けるから・・・
ある意味、クラスによるカプセル化と一緒で、
オブジェクト指向の根幹になるんじゃないかな?
1042:名前は開発中のものです。
17/12/21 18:52:38.72 d8WQwc80.net
もちろん、そのクラスや構造体の中で、
「数学的に何が行われているのか?」を理解していれば、
それを応用して、別のクラスを作ったり、
他の処理に応用することができるようになるとは思うけど・・・
3D処理(描画じゃなくて動作)で必要なのは、
ベクトル、行列、複素数の拡張であるクォータニオン、
極座標、関数(特に、三角関数)、初等幾何学、
古典物理学(力学)くらいじゃないかな・・・
Unityでは、行列は基本内部処理だけで表に出ないから、
高校の数学ⅡBくらいまでのレベルじゃなかろうか?
1043:名前は開発中のものです。
17/12/21 19:26:27.42 J5wOBApL.net
>>989
>年がいくつでも何処からでも学べるんちゃうんか
それを聞く時点でキミはすでに学べない。
1044:名前は開発中のものです。
17/12/21 20:31:14.43 MUjb87iC.net
そんなんいらね。
三角関数を何となく使えるぐらいで十分。
あとはunityがやってくれる。
1045:名前は開発中のものです。
17/12/21 20:41:57.83 m2pWnfBj.net
>>989
高校卒業してから20年くらい、今年初めからUnityを始めましたが、
独学でベクトルの外積やクォータニオン演算まで辿り着けたので、
興味さえあれば、何とかなるもんですよ。
1046:名前は開発中のものです。
17/12/21 20:52:09.10 m2pWnfBj.net
例えば、物理演算を使用する場合、Unityで設定できるのは、
速度velocityと力AddForce、角速度angularVelocityとトルクTorqueだけです。
(位置positionや角変位rotationは原則いじらないほうが良いです)
すると、直線移動や自転だけなら設定が簡単ですが、
公転のような円運動を行うには、物理法則に準じた命令を与える必要があります。
物理演算では、transform.RotateAroundを使えないので、
そういう場合に自分で工夫して実装できるかどうかに関わってくると思います。
1047:名前は開発中のものです。
17/12/22 00:21:49.04 ko83+b2p.net
一番とっつきにくいのは回転運動だと思います。
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と乗算できないので面倒です。
1048:名前は開発中のものです。
17/12/22 02:24:21.72 BHuKTyia.net
オイラーは、ドラマー♪
1049:名前は開発中のものです。
17/12/22 10:39:11.64 GTvlornd.net
10年は 夢のよう
100年は 夢また夢
1000年は 一瞬の光の矢
過ぎてく時間は怖くない
輝きを失う事が嫌なのです
1050:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 53日 5時間 33分 36秒
1051:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています