[過去ログ] 【3Dゲームエンジン】Unity質問スレッド32 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
905(1): 2017/12/16(土)23:07 ID:hBjssZ70(5/5) AAS
>>900
物理は使う?
2Dなの3Dなの??
Gravityオフにしてオブジェクトを生成すれば、落ちないよ
クリックしされたら、オブジェクトのGravityをオンにしたら良いんじゃ
906(1): 2017/12/16(土)23:57 ID:zgsa9dPV(2/2) AAS
>>905
返信ありがとうございます。
物理は使っています。2Dで制作しています。
プログラムが書けなくてオブジェクトをランダムに生成してクリックでGravityをオンにするっていうようにするのが
どうやればいいのかわからなくて・・・。
907(1): 2017/12/17(日)00:00 ID:CBpPFu99(1/3) AAS
星型のアセットモデルをインポート
↓
Hierarchyに追加して任意の角度(星型が正面に来る)にする
↓
それをプレハブ化
してもInspector内でデフォルトの角度に戻ってしまいます(オブジェクトとして使用する分には任意の角度になるんですが)
星型の弾丸を作ろうと思ってるんですが、プレハブから弾丸にするとデフォルトの変な角度のまま発射されてしまうんですよね…
908: 2017/12/17(日)01:08 ID:Vn9M2BoC(1/2) AAS
>>906
プログラムを書けるようになって動かせるようになりたいってこと?
909(1): 2017/12/17(日)01:26 ID:K2bL8mhm(1/7) AAS
>>907
アセット内のプレハブの方のインスペクターで角度を指定すれば、
それをヒエラルキーに持っていっても角度は保たれているはず
スクリプトで動的にプレハブ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に載せる
910: 2017/12/17(日)01:32 ID:K2bL8mhm(2/7) AAS
半角スペースが文字化けして?になっちゃった・・・
左クリックされたら、
x座標を-10〜+10でランダム値
y座標を10
角度を(x度,y度,z度)
prefabを生成
2Dだと、
Rigidbody2D Rb2D;
Rb2D?=?GetComponent?<?Rigidbody?>?();
Rb2D.gravityScale = 1.0f;
もいるね
あらかじめ、prefabのRigidbody2Dで、
インスペクター上でGravityScaleは0にしておいてね;
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));
Rb2D = Prefab.GetComponent<Rigidbody2D>();
Rb2D.gravityScale = 1.0f;
}
}
913: 2017/12/17(日)02:23 ID:K2bL8mhm(4/7) AAS
PrefabCodeは、ヒエラルキーで作成した空の2Dオブジェクトにでも入れておいて
もしかして、ランダムはオブジェクト自体か?
オブジェクトの形が数種類あるとか?
その場合は、ランダムでパターン番号0〜3とかを指定して、
if文で、違うprefabを生成する文を選択させるのが良いかも
空のオブジェクトのx座標を、マウスのx座標と揃え続けるコードも必要だな
マウスオーバーイベントに書いておく必要ありそう
prefabは空のオブジェクトの位置に生成されるから
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軸に目標座標を入れると、軸がそっちを向くんですね!
しかも、正規化して単位ベクトルにするひつようもないみたい
そしたら、transform.LookAtいらなくない?!
921(2): 2017/12/17(日)16:14 ID:anx13erV(2/3) AAS
>>918
レスありがとうございます。
当たり判定に違和感がない数ピクセルの差でbox collider2dをアタッチすると引っかかりは生じます。
引っかからない程度に足元を円形にすると角で滑り落ちるようになってしまいます。
DirectionをHorizontalにした角の丸い棒状のcapsulecollider2dでプレイヤーの上下左右を被った場合(角のない箱のような形)は、
引っかかることはなくなりますが、やはりタイルに当たりはするので、極僅かに減速してPlayerが数pixcel浮くことがあります。
またその際、OnCollision〜2Dイベントを監視すると、タイルに当たって浮いた瞬間にタイルとの接触判定が一瞬途切れている為、
ジャンプ判定等にも影響が出てしまう(空中にいる判定が誤作動する)のでタイルとの判定自体を正しく動作させたいと考えています。
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軸限定だけど)
あと、LookAtは第2引数で、up軸の方向も指定できる
(forward軸をtagetに向けた状態で、可能な限りup軸を指定方向に合わせてくれる)
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
けーすばいけーす
上下前次1-新書関写板覧索設栞歴
あと 68 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.017s