[過去ログ] 【3Dゲームエンジン】Unity質問スレッド32 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
911: 2017/12/17(日)02:01 ID:vcuEPHEk(1) AAS
流石にコード無しでDTB作るのは難しいと思うからプログラムを学ぶかかける人を探さないと無理だと思うよ
912: 2017/12/17(日)02:16 ID:K2bL8mhm(3/7) AAS
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));
省4
913: 2017/12/17(日)02:23 ID:K2bL8mhm(4/7) AAS
PrefabCodeは、ヒエラルキーで作成した空の2Dオブジェクトにでも入れておいて
もしかして、ランダムはオブジェクト自体か?
オブジェクトの形が数種類あるとか?
その場合は、ランダムでパターン番号0〜3とかを指定して、
if文で、違うprefabを生成する文を選択させるのが良いかも
空のオブジェクトのx座標を、マウスのx座標と揃え続けるコードも必要だな
マウスオーバーイベントに書いておく必要ありそう
省1
914(1): 2017/12/17(日)02:48 ID:2l6FPzGg(1/2) AAS
これで作られたRPGってありますか
ガチャゲーじゃない昔ながらのRPGです
915(1): 2017/12/17(日)03:03 ID:KEqZbS2o(1) AAS
>>914
いけにえと雪のセツナ
916: 2017/12/17(日)03:06 ID:2l6FPzGg(2/2) AAS
>>915
?
セールになったら買ってみます
917: 2017/12/17(日)03:30 ID:anx13erV(1/3) AAS
2Dアクションゲームを作成しようとしている初心者です。
tilemap collider2dをアタッチしたtilemapの平面フィールド上で、
rigidbody2dとbox collider2dをアタッチして重力と当たり判定を付与したGameObject(Player)を歩かせたところ、
タイルに引っかかる形で止まってしまいます。
これを回避するためにcapsule collider2d等で接地面を点にすると止まることはなくなります(僅かに減速する)が、
当たり判定を□で判定したい為、可能であればbox collider2dで実装したいと考えています。
tilemapを使用した際のこういった引っかかり挙動を抑えることは可能でしょうか。
918(1): 2017/12/17(日)10:25 ID:kJlZ2G7V(1/3) AAS
足元はcapsuleかcircleにして、
もう1つboxで足元から数ピクセル上を覆えば良いのでは?
collider2Dは1つという制約はないので、複合したら良いんじゃ
919: 2017/12/17(日)10:31 ID:kJlZ2G7V(2/3) AAS
>>899
>>887ですが、基本的にforward軸はオブジェクトの前後方向にとっているのですが、
円状(球状)の軌道で旋回しており、その際にオブジェクトの上下方向を、
軌道の中心(球の中心)へ向けておきたいのです・・・
人工衛星やスペースシャトルみたいな感じです
前方は進行方向を向けておいて、なおかつ上下は鉛直軸に揃えたいんです
前方が中心を向いちゃうと、上下に立った状態で周回してしまうので
920: 2017/12/17(日)10:36 ID:kJlZ2G7V(3/3) AAS
レスのアンカに引っ張られて間違えましたが、自分は883でした
>>904
2Dだとtransform.LookAtが機能しないんですね!
それじゃ、やっぱりforward以外の軸を向ける機能は大事ですね
>>885
ビックリです!
transform軸に目標座標を入れると、軸がそっちを向くんですね!
省2
921(2): 2017/12/17(日)16:14 ID:anx13erV(2/3) AAS
>>918
レスありがとうございます。
当たり判定に違和感がない数ピクセルの差でbox collider2dをアタッチすると引っかかりは生じます。
引っかからない程度に足元を円形にすると角で滑り落ちるようになってしまいます。
DirectionをHorizontalにした角の丸い棒状のcapsulecollider2dでプレイヤーの上下左右を被った場合(角のない箱のような形)は、
引っかかることはなくなりますが、やはりタイルに当たりはするので、極僅かに減速してPlayerが数pixcel浮くことがあります。
またその際、OnCollision〜2Dイベントを監視すると、タイルに当たって浮いた瞬間にタイルとの接触判定が一瞬途切れている為、
省1
922(1): 2017/12/17(日)17:18 ID:CBpPFu99(2/3) AAS
回転するステージを作ってます
ステージにspawn位置を子オブジェクトとして設定して、そこから敵を出現させようと思ってるんですが
spawn位置がステージに追従して回転せず、固定されたままになってしまいます
オブジェクトをそのままステージの子にすると回転に追従できるんですが、
Spawnにスクリプトを設定してそこからオブジェクトを選んでくっつけるとどうもうまく行かず…
なにか解決方法はありませんか?
923: 2017/12/17(日)17:19 ID:CBpPFu99(3/3) AAS
>>909
遅レスすいません、詳しくありがとうございます。試してみます。
924(1): 2017/12/17(日)17:21 ID:anx13erV(3/3) AAS
>>921
すみません自己解決しました。
edge collider2dを使用するか、box collider2dのedge radiusを0.001に設定することで、
タイルとの衝突(及びOnCollider系イベントの誤発生)はなくなりました。
参考:外部リンク:forum.unity.com
ありがとうございました。
925(1): 2017/12/17(日)17:28 ID:0i7oG1oj(1) AAS
>>885
どういう原理なんだこれ????
926: 2017/12/17(日)20:19 ID:Vn9M2BoC(2/2) AAS
position とかと同じように代入できるんだね。リードオンリーだとばかり思ってた
927: 2017/12/17(日)20:36 ID:MPKxHq38(1) AAS
Unityの人達がどれほど「技術の民主化(デモクラタイズ)」とい
うものに心を払っているかは、多分外部の人達には想像できな
いと思います。この一点においいて、Unityは、世界中に沢山の
ファンを生み出し、そしてエバンジェリズムを行うチームのメンバ
ーも国境や政治制度を越えてひとつになれるのです。
928: 2017/12/17(日)20:43 ID:ttDBRzWh(1) AAS
その思想は非常に危険
それは即ち低賃金労働者の搾取がゲーム業界においても世界的に起こるようになるということと同義だからだ
929: 2017/12/17(日)21:44 ID:FNxE37S9(1) AAS
キケンかどうかは立ち位置によるし、資本主義では当たり前の話。
930: 2017/12/17(日)22:07 ID:K2bL8mhm(5/7) AAS
>>925
transform軸の座標は、自分のpositionをVector3.zeroとした時の相対座標で設定されている
自分のpositionが原点の場合は、transform軸の座標に目標のpositionを入れれば、
それが勝手に単位ベクトル化されて、方向ベクトルになるみたい
でも、自分のpositionが原点でない場合は、
transform軸の座標に「target - trans.position」で自分の座標を引いておく必要がある
だから、「target」だけを入れれば良いLookAtの方が簡単にできる(forward軸限定だけど)
省2
931: 2017/12/17(日)22:12 ID:K2bL8mhm(6/7) AAS
>>922
Instantiateで生成する時に、ちゃんと親を指定してる??
動的に生成したオブジェクトは、ステージとの親子関係が切れてない?
Instantiate(Object, Position, Parent)
932: 2017/12/17(日)22:14 ID:K2bL8mhm(7/7) AAS
>>921
>>924
edge radiusなんて便利な機能が付いて、
矩形の判定枠の角を丸められるようになったんだね
いつも、足の前後に円形判定をおいたり、
カプセルを横にして置いて、地形判定専用にしてたわ
933: 2017/12/17(日)22:57 ID:SNj3ir+c(1) AAS
ダメージを受ける毎に敵オブジェクトとかモデルが足元から徐々に(段階的に)赤くなって行くっていうのって、どういう原理で出来るんですか?
色々考えたんですけど思い付かなくて
934: 2017/12/17(日)23:29 ID:tMMchmwv(1) AAS
けーすばいけーす
935(1): 2017/12/18(月)04:52 ID:B3OUJM41(1/5) AAS
歩くアニメーションがあってそれは実行すると前進するのですが
これをその場で足踏みだけさせるように簡単に変更はできますか?
936(1): 2017/12/18(月)08:05 ID:vc4Z0s4x(1/2) AAS
アニメーション再生するだけで前に動くことは無い
別のスクリプトでオブジェクトを進行方向に動かしているはず
937: 2017/12/18(月)08:48 ID:WoyHjqZj(1) AAS
>>877
position等を直接いじったらそれはワープしてるのと同じだからね
移動や回転は事象に応じて物理エンジンがするものと考えれば、いろいろ扱いやすくなると思うよ
938(1): 2017/12/18(月)09:27 ID:mba+3hiD(1) AAS
>>935
apply root motion
939(1): 2017/12/18(月)10:23 ID:B3OUJM41(2/5) AAS
>>938
apply root motionを指定しても動いてるんですよね。
>>936
歩く以外にもジャンプのアニメーションも上に飛び上がらないようにしたいとかです。
940(1): 2017/12/18(月)10:32 ID:vc4Z0s4x(2/2) AAS
>>939
モーション自体の中で位置が動いてるなら簡単に動かないようにするのは無理
アニメーション編集してルートのトランスフォーム移動のキーを全部削除するしかない
941: 2017/12/18(月)10:40 ID:B3OUJM41(3/5) AAS
>>940
やっぱりそれしかないんですね。
自分で削除することにします。ありがとうございました。
942(3): 2017/12/18(月)12:00 ID:jBsoCflG(1) AAS
LateUpdateでモーション適用後のトランスフォームを変更できる
ルートのボーンにLateUpdateで位置をlocalPosition=0,0,0にするコンポを付ければいい。
943: 2017/12/18(月)12:43 ID:B3OUJM41(4/5) AAS
>>942
ありがとうございます。やってみます!
944: 2017/12/18(月)13:36 ID:B3OUJM41(5/5) AAS
>>942
完璧に動作しました!ありがとうございました!!
945: 2017/12/18(月)14:32 ID:B4iwR6Ld(1) AAS
Twitterリンク:SpaceBackyard
リンクすみません。
こういうカーソル位置?というか左右にしたら画面が切り替わるのってどうやれば出来るんでしょう?
マスクみたいな感じですか?
946(2): 名無し@キムチ 2017/12/18(月)19:51 ID:iM2CjGiv(1/2) AAS
>>885や>>942は優良回答者ですね。
しったかのヘタレ回答者が多い中で、すごいです!!!
947(1): 2017/12/18(月)20:19 ID:AjgZuUm6(1) AAS
>>946
貴方も回答者に成るんだよこれから。
948: 名無し@キムチ 2017/12/18(月)22:22 ID:iM2CjGiv(2/2) AAS
>>947
ホントですね。頑張ります!
949: 2017/12/18(月)22:24 ID:zA/nszQ4(1) AAS
好きなオッパイは何カップですか?
950(2): 2017/12/18(月)22:39 ID:9Bga0q6S(1) AAS
越後製菓!
951(1): 2017/12/18(月)23:04 ID:x75jC3YN(1/2) AAS
最近、質問-回答がちゃんとなされて、質問スレとして機能していて、ビックリ!
ちょっと前なら、アセットで解決!で終了だったのに・・・
スレで出た有用なQ&Aは、誰かどこかにまとめてくれないかね〜
952(1): 2017/12/18(月)23:11 ID:x75jC3YN(2/2) AAS
2DはLookAtが使えなくて今まで諦めてたけど、
まさかtransform.rightやtransform.upに直接代入して、
LookAtもどきができるとは、凄く役になったな〜
タイルチップで2D背景を作ってたけど、
左右移動時にタイルのつなぎ目で引っかかるから、
高さが同じタイルは、colliderを統合して、
高さが変わるところだけ、別colliderにしてたけど、
省1
953: 2017/12/19(火)00:07 ID:4Od9SmbT(1/3) AAS
ネトウヨ老害死ねばいいのに
ゲ製コミュの印象悪くして皆の足引っ張りやがって
死ねよ不細工メタボ引き篭もりネトウヨ
954(1): 2017/12/19(火)00:27 ID:MvhMRTwq(1) AAS
まーた、ネトウヨキムチがコミュとか言っちゃって
955(1): [944] 2017/12/19(火)03:06 ID:Ih0Nk694(1/2) AAS
一応言っておきますが>>946は自分じゃないですよ…
回答頂いた方には皆感謝してます。
956: 955=944 2017/12/19(火)03:07 ID:Ih0Nk694(2/2) AAS
名前欄ということです。すみません。
957(1): 2017/12/19(火)07:37 ID:4Od9SmbT(2/3) AAS
>>954
は?なんで俺が「キムチキムヨナ」連呼のネトウヨの最底辺メタボのゴミおっさんなんだよ?糖質が絡んでくるなや
「キムチキムヨナ」連呼のネトウヨの最底辺のゴミおっさんがどこで「コミュニティ」とか言ってやがるんだ?
ゲ製コミュをネトウヨコミュニティと一緒にするなやカス共が
>>955
「!」の使い方といい、文体といい、同じに見えるんだが?
ネトウヨの最底辺のゴミおっさんが、わざわざ文体を真似てるってことか?
958: 2017/12/19(火)09:35 ID:VZwsAqll(1/2) AAS
なんか面倒な人に絡まれてるなぁ955
新スレ作るか。
959: 2017/12/19(火)09:36 ID:VZwsAqll(2/2) AAS
新スレビルド完了です...
【3Dゲームエンジン】Unity質問スレッド33
2chスレ:gamedev
960: 2017/12/19(火)10:04 ID:4Od9SmbT(3/3) AAS
なぜ <準コテ「キムチ」で「キムヨナ」連呼> みたいなゴミを、素朴に「ゴミ」と言うことや
ぱっと見で文体が同じに見えることを、素朴に「同じに見える」「一方が真似てる」と言うことが
面倒がられなければならないのか?
素朴な書き込みを面倒がり、ゴミ廃棄を面倒がる奴の方が、よっぽど面倒だぜ?
961(1): 2017/12/19(火)10:13 ID:hldyKkrz(1) AAS
unityにマップを作るtile機能ってあるけど一つのチップセットに対してBoxColliderとかの情報を付けるのってどうすればええんやろ
962: 2017/12/19(火)12:04 ID:m7Eb2COO(1/2) AAS
>>961
アセットをかうしか無いですよ!
963: 2017/12/19(火)14:27 ID:SpU5jUlI(1) AAS
>>950
正解
964: 2017/12/19(火)15:16 ID:ZiJMGaxN(1) AAS
キチガイがいると迷惑だから分類しないとね
965: 2017/12/19(火)15:56 ID:O0snqTpx(1) AAS
>>951
お前が幼稚園や保育園をお望みならそれでいいんじゃない?
まともな小学生以上は自分でググって調べて解決してる
そんな内容ばかりだ
966: 2017/12/19(火)16:33 ID:4R8uUpaI(1) AAS
アセットガイジはなんか売ってるんかなぁ…
967(3): 2017/12/19(火)18:11 ID:OC9tHkfS(1) AAS
>>952
むしろ2DでLookAtさせたいだけならオブジェクトAとBの角度を取って画像をRotateさせるだけでいいんじゃないん?w
968: 2017/12/19(火)19:22 ID:Jz5wVrA6(1) AAS
>>967
そんな難しいことしたくないじゃん
969(2): 2017/12/19(火)19:29 ID:oc7hao2D(1) AAS
>>967
自分をオブジェクトA
Aのposition = transform.position
目標をオブジェクトB
Bのposition = target
とした場合に、
transform.right = target.position - transform.position
省2
970: 2017/12/19(火)19:59 ID:IygWzju3(1) AAS
>>969
オブジェクト間の角度とる関数あるからしらべて
971: 2017/12/19(火)20:25 ID:v4JsSdmj(1/4) AAS
ベクトル間の角度を出す関数じゃなくて?
ベクトル間の角度だと、原点を中心にした角度になるけど
しかも、それで角度を出すと回転の向きがわからないから、
ベクトルの外積を求める必要もあるよね
972: 2017/12/19(火)22:09 ID:v4JsSdmj(2/4) AAS
>>967
自分でコードを出してみなよ〜
命題:オブジェクトAの向きを、オブジェクトBの方向へ向ける
オブジェクトAの座標は任意(原点とは限らない)
オブジェクトAの向きは任意(0度とは限らない)
省4
973: 2017/12/19(火)22:16 ID:m7Eb2COO(2/2) AAS
アセットを購入すれば簡単簡単
974: 2017/12/19(火)22:17 ID:v4JsSdmj(3/4) AAS
そもそも角度って言っても、
それぞれのベクトルの偏角なのか、2つのベクトルのなす角なのか・・・
Rotate(0, 0, θ)で入れるには、
オブジェクトAからオブジェクトBへ向かうベクトルの偏角じゃないとダメだから、
オブジェクトAのベクトルとオブジェクトBのベクトルのなす角を求める
Vector3.Angleを使っても、それじゃA→Bへの原点中心の公転角になっちゃうよ!
rotationに入れるにはQuaternionである必要があるし、
省2
975: 2017/12/19(火)22:59 ID:v4JsSdmj(4/4) AAS
アセットおじさんは、
なんていうアセットで、いくらで、どの機能を使うとできるのかも明記して欲しいね〜
「探せばあるかもよ」じゃね・・・
976(1): 2017/12/20(水)00:34 ID:TUVA4DF6(1/6) AAS
>>969
考えてみました。
Aに下記のスクリプトをセットします。
public class A : MonoBehaviour {
GameObject obj;
Vector3 target, position, direction;
void Start () {
省10
977(1): 2017/12/20(水)00:39 ID:TUVA4DF6(2/6) AAS
?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
省1
978(1): 2017/12/20(水)00:44 ID:TUVA4DF6(3/6) AAS
?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);
うーん、どうやっても元よりも長いコードになってしまいます。
省2
979(1): 2017/12/20(水)01:00 ID:TUVA4DF6(4/6) AAS
Quaternion.FromToRotation(A, B)では、
回転方向を含めた回転状態を得られますが、
Vector3.Angle(A, B)では、
ベクトル間の角度しかわからず、向きがわかりません。
また、取得される角度は180度以下に限定されるため、
左向きに270度は、右向きに90度かもしれないということです。
回転方向は、Vector3.Cross(A, B)のZ成分が正か負かで判定します。
省8
980(1): 2017/12/20(水)08:42 ID:XTZUI7pU(1/2) AAS
969です
>>976-979
詳しく解説ありがとうございました!
やっぱり、角度から行こうとすると結構面倒ですね〜
981: 2017/12/20(水)18:29 ID:XTZUI7pU(2/2) AAS
汎用性を考えると、Quaternion.FromToRotationは良さそうですね
これは、あるベクトルを別のベクトルにする回転を返すわけだから、
自分の向きを、自分のベクトルから目標とするベクトルへ向ける回転にするわけですか・・・
982: 2017/12/20(水)22:49 ID:TUVA4DF6(5/6) AAS
>>980
テラシュールブログ
外部リンク:tsubakit1.hateblo.jp
ここに、Quaternion.FromToRotationの使い方がうまくまとまってました。
>>var diff = (target.position - transform.position ).normalized;
>>transform.rotation = Quaternion.FromToRotation( Vector3.up, diff);
このサイトでは、diffは正規化されているようですが、
省4
983: 2017/12/20(水)22:56 ID:TUVA4DF6(6/6) AAS
なお、私の方法では、外積ベクトルとZ軸の内積をとっていますが、
最終的に符号のみを取り出しているので、大きさが影響しません。
Vector3.Reflect,Vector3.Project,Vector3.ProjectOnPlaneなど、
単位ベクトルに内積を乗算するタイプの関数では、
必ず正規化して単位ベクトルにしてから代入しないと、
計算結果が変わってきますので、注意が必要です。
984: 2017/12/21(木)12:35 ID:rQmWRShb(1) AAS
AA省
985: 2017/12/21(木)13:03 ID:nBeZymLn(1/2) AAS
算数だぞ。
986(1): 2017/12/21(木)14:22 ID:8qhc65N4(1) AAS
確実に高校数学
中学算数でベクトルは習わない(特定進学校は除く)
987: 2017/12/21(木)14:52 ID:nBeZymLn(2/2) AAS
>>986
つ外部リンク:www.google.co.jp
988(2): 2017/12/21(木)17:37 ID:mWsXZ6ft(1) AAS
年がいくつでも何処からでも学べるんちゃうんか
989: 2017/12/21(木)17:41 ID:ogJEBcpf(1) AAS
年寄りは観念が固まってるから、4*4=4+4+4+4とか切り口を変えた柔軟な発想が出来ない
990: 2017/12/21(木)17:49 ID:uW9gzElK(1) AAS
柔…軟…???
991: 2017/12/21(木)18:12 ID:p4DyS94v(1) AAS
なんだかんだと言ってもITはそれなりの頭がないと出来ない
中学、高校で数学が苦手だった奴にプログラミングはむかない
そんな理由で糞IT専門学校卒の底辺IT奴隷だって素質があって他の業種からみれば高給与
まあ糞IT専門学校に逝っても半分以上は素質がなくて資格も取れずIT関連企業にも就職できないんだけど
上下前次1-新書関写板覧索設栞歴
あと 11 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.024s