[過去ログ]
【3Dゲームエンジン】Unity質問スレッド33 (1002レス)
【3Dゲームエンジン】Unity質問スレッド33 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
229: 名前は開発中のものです。 [sage] 2018/01/01(月) 12:16:58.00 ID:ljD1K3gw IsTouchingLayersをつけたbox型のコライダーを足元に付けておけば、 足元だけで地面のレイヤーとの接地判定できるよ キャラクタ全体をIsTouchingにしちゃうと、 横のブロックに触れただけでも接地に判定されちゃうから・・・ (逆に、壁登りや三角飛びするなら、これでもよいけど) http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/229
230: 名前は開発中のものです。 [sage] 2018/01/01(月) 12:30:50.04 ID:ljD1K3gw >>225 LineCastは判定線の長さが限られているから、直下だけの判定できるけど、 RayCastだと判定線の長さが伸びるから、下方向(距離無関係)の判定になっちゃうよ >>224 1フレームで見れば、velocityの直接変更も、AddForce(Impulse)も同じだけど、 velocityの直接変更は、ボタン押下中、毎フレーム呼び出されても同じ値が代入されるのに対して、 AddForce(Impulse)は、ボタン押下中、毎フレーム呼び出されて加算されてどんどん加速するからね AddForceで、gravityと同じ値で逆方向に加速すると、重力が相殺されて、速度が保存されるよ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/230
232: 名前は開発中のものです。 [sage] 2018/01/01(月) 15:25:49.26 ID:ljD1K3gw >>217 ちなみに、自分の場合は、2Dでジャンプ機能を実装する際は、 Startでint t = 100,float v = 1.0fをセット Updateでボタン入力と接地を監視 @入力あり t >= 0なら、Jump()へ飛んで、その後にt = t -1 A入力なし 接地ありなら、t = 100へ 接地なしなら、t = 0へ Jump() t = 100なら、AddForce(mass * v * Vector2.up, ForceMode2D.Impulse) そうでない場合は、AddForce (mass * (t/100) * (- Physics2D.gravity)) 最初のフレームで上向き初速v = 1.0をつけておき、 次のフレームからは重力加速度の相殺を線形的に減じていき、 t = 100フレームで重力加速度の相殺が消える仕組み ボタン入力がない場合は、接地時はt = 100に戻して、 非接地時はt = 0をセットして連続での再ジャンプを防止 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/232
233: 名前は開発中のものです。 [sage] 2018/01/01(月) 15:36:55.88 ID:ljD1K3gw 接地判定は、足元に別コライダーを接地しておいて、IsTouchingLayersでも良いけど、 Startで、public LayerMask layerを宣言して、layerに地面のレイヤーを指定しておき、 キャラクタの足元に、縦厚みd×横幅x-dの判定枠を作って、 V2center = position - (キャラの縦サイズy/2) * Vector2.up V2size = new Vecto2(キャラの横サイズx - d, d) if (Physics2D.OverlapBox(V2center, V2size, 0, layer) == true)で layer = 地面のレイヤーとの接地判定すると、コライダーを追加する必要はなくなるよ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/233
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.116s*