[過去ログ] 【3Dゲームエンジン】Unity質問スレッド33 	 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
207: 2017/12/28(木)15:02 ID:YB1B6aLH(1) AAS
 質問者が全部キムチなのが問題だ 
208: 2017/12/28(木)15:24 ID:tnUbOHhI(1) AAS
 何もない所で誰も引っ掛からない孔明の罠に引っ掛かって 
 大騒ぎするのがキムチ 
209: 名無し@キムチ 2017/12/28(木)19:12 ID:26YsjXJQ(1/2) AAS
 >>177 
 他のオブジェクトのアクティブのtrueはfalse明らかにオブジェクトの量で変わる。 
 オブジェクトの量を増やすと、それまでtrueはfalseがちゃんと動いていたものが、動かなくなる。 
 その行の削除するとまたちゃんと動き出すことから、それは明らか。 
 
 それを回避するには、オブジェクトごとにスクリプトをつけてそれに書けばアクティブのtrueはfalseは確実に動く。 
210(1): 名無し@キムチ 2017/12/28(木)20:33 ID:26YsjXJQ(2/2) AAS
 最近わかったんだが、Unityでは基本あるオブジェクトにつけたスクリプトから他のオブジェクトを動かしてはいけないんですね。 
 あくまでもそのオブジェクトにだけ関するスクリプトであるということ。 
 MonoBehaviorの「Mono」とはそういう意味なんですね。 
211: 2017/12/28(木)20:57 ID:bdqePp8Y(2/2) AAS
 何いってんのこいつw 
212: 2017/12/28(木)21:42 ID:mWenZKXP(1) AAS
 NSObjectのNSはNextStepの略だしな 
213: 2017/12/28(木)21:51 ID:VBJfLBcj(1) AAS
 NSって。。風俗かよwww 
214(1): 2017/12/28(木)22:22 ID:epGNZdyE(4/4) AAS
 >>210 
 
 物理演算をつけたオブジェクトは、transform命令では動かさない方が良い 
 同様に、Rigidbody.positionやRigidbody.rotationも極力直接いじらないほうが良い 
 (なるべく、初期値を設定するだけにしておく) 
 物理演算をつけたオブジェクトは、原則velocity設定や、 
 AddForceかAddTorqueで動かさないと、演算に干渉して挙動が不安定になる 
215: 2017/12/28(木)23:00 ID:mH5YII84(8/8) AAS
 >>187 >>200 
 
 全部1フレーム内での出来事だったのか 
 
 >>186 >>200 
 
 呼び出される順序の問題で、物理演算をまたいでしまうと、 
 その時点で1フレーム分の内容のズレが出ちゃうのが真相か・・・ 
216: 2017/12/29(金)09:19 ID:K0u5BC7r(1) AAS
 >>214 
 それはワープになるからな 
 MovePosition使えば大丈夫だよ 
217(2): 2017/12/29(金)23:42 ID:qixlPtWp(1) AAS
 初心者です。 
 2Dでジャンプアクションゲームを物理演算で製作中です。 
 ようやく左右への移動ができるようになったところです。 
 (Input.GetAxisをvelocityに代入しています) 
 ジャンプの際に、お聞きしたい事があるのですが、 
 まず地面に接している判定をどうするのか、 
 ジャンプはvelocity変更でよいのか、AddForceの方がよいのか、 
 ボタンを押している時間に応じてジャンプを高くしたい 
 (無制限に高くではなく、ジャンプ力には上限を設けたい) 
 などを詳しく解説してあるサイトとかありますでしょうか? 
 あるいは、ジャンプ動作のスクリプトに、定石・セオリーみたいのはあるのでしょうか? 
218(1): 2017/12/30(土)00:35 ID:5n68sL0m(1) AAS
 AddForceの方がいいよ、単純にジャンプだけだったら変わんないかもしれないけど他の動作と重なったときに融通がきかなくなる 
 設置してるかどうかはコリジョンを見れば良いんだよ 
 ジャンプ系の処理は定石化してるから、Youtubeでしっかり頭に叩き込んだほうが良いよ 
 数値の上限については、ちゃんとC#らしい書き方ができるといいね 
219(1): 2017/12/30(土)09:26 ID:sj8HSsvd(1) AAS
 UNITYの定石としては、アセットを買うことですね 
220(1): 2017/12/30(土)14:20 ID:LpYIXbLi(1) AAS
 "物理演算"でやるならVelocityは基本使っちゃだめよ 
 物理演算を無視した移動だから見た目が物理っぽくなくなるよ 
 キャラの操作制御はInput.GetAxisでもいいがCharacter Controllerを使えばisGroundというパラメーターで地面との接点判定できるよ 
221(1): 2017/12/30(土)16:10 ID:DH75+pHx(1) AAS
 >>217 
 初心者向けに 
 2D platformerというジャンプアクションゲームのアセット(無料)がある 
 
 外部リンク:www.assetstore.unity3d.com 
 
 あとはggれば解説してるとこがあったはず 
222: 217です 2017/12/30(土)23:14 ID:6xEuTupH(1) AAS
 この時間しかレスできず、大変すみません。 
 皆さん、いろいろアドバイス下さり、ありがとうございます。 
 
 >>218さん 
 >>220さん 
 velocityは直接変えない方がよいんですね。 
 AddForceでImpuseモードで変更することにしました。 
 
 >>219さん 
 >>221さん 
 アセットは魅力的に思っていましたが、導入方法が分からなかったのと、 
 基本有料と思って、二の足を踏んでいました。 
 無料のジャンプアセットあるのですね。ためになりました。 
 
 >>220さん 
 Character Controllerは3D専用の機能かと思って触っていませんでした。 
 これから勉強します。 
223: 2017/12/31(日)11:58 ID:YEuDj3bX(1/3) AAS
 物理演算を使って、物理法則に則ったゲームを作成するのか、 
 
 物理演算を使って、既存型のゲームを作成するのか、 
 (コライダーは利用するが、動きは非物理) 
 
 物理演算を使わずに、既存型のゲームを作成するのか 
 (旧来のゲームシステム) 
224(1): 2017/12/31(日)12:40 ID:YEuDj3bX(2/3) AAS
 positionの直接変更は、コライダーへの衝突計算が乱れる危険性あり 
 
 MovePositionによるposition変更は、velocity変更に基づいているので、 
 比較的安全にコライダーとの衝突計算がなされる 
 
 velocity変更を行わずに、全てAddForceで行った方が、 
 より自然な物理演算になるけど、velocityを0にするのが難しくなる 
 
 AddForceでvelocityを0にしようと逆方向に力を与え続けると、 
 逆向きの加速度がついてしまうので、基本的にはDragで減速せざるを得ない 
225(1): 2017/12/31(日)13:07 ID:YEuDj3bX(3/3) AAS
 2Dで地面との接触判定を行うのであれば、 
 
 ・IsTouching,IsTouchingLayers 
  他のコライダーやレイヤーとの接触を検出する方法 
  (全方向からの接触を検出してしまう) 
 
 ・Physics2D.OverlapArea,Physics2D.OverlapBox 
  配置した矩形が接触したコライダーを検出する方法 
  (OverlapAreaとOverlapBoxは矩形の設定方法が異なる) 
 
 ・Physics2D.Linecast 
  配置した線分が接触したコライダーを検出する方法 
  (RayCastとは異なり、直線ではなく長さを持つ線分) 
 
 ・Physics2D.BoxCast,Physics2D.RayCast 
  放射した直線が接触したコライダーを検出する方法 
  (BoxCastはRayCastの先端が矩形) 
 
 IsTouching系は、Collider2D.(自分との判定)とPhysics2D.(2者間の判定)がある 
 
 Cast系は投射方向を指定できるが、投射前に接触していると検出されないのが難点 
 
 LineCastやRayCastは線のため太さがなく、幅を持つコライダーでは複数本が必要 
 
 OverlapBoxと違って、Physics.CheckBoxは、2Dでは使えない 
226: 2017/12/31(日)18:15 ID:/rN76OKL(1) AAS
 簡単にお金が稼げる方法興味ある人だけ見てください。 
 
 グーグル検索⇒『来島のモノノリウエ』 
 
 WQFIUEMH6C 
227: 2018/01/01(月)00:44 ID:j7kcIBAU(1/6) AAS
 斜面に球を置いたとき、コロコロと転がっていくか、転がらずに滑っていくかは、摩擦設定で変わるのですか? 
228(1): 2018/01/01(月)01:03 ID:6abiTkqK(1/2) AAS
 変わるよ 
 ただし物理計算のタイムアウトも関係してくる 
 一定時間経過するとタイムアウトになり何か刺激がくるまで動かなくなる 
229: 2018/01/01(月)12:16 ID:ljD1K3gw(1/4) AAS
 IsTouchingLayersをつけたbox型のコライダーを足元に付けておけば、 
 足元だけで地面のレイヤーとの接地判定できるよ 
 
 キャラクタ全体をIsTouchingにしちゃうと、 
 横のブロックに触れただけでも接地に判定されちゃうから・・・ 
 (逆に、壁登りや三角飛びするなら、これでもよいけど) 
230: 2018/01/01(月)12:30 ID:ljD1K3gw(2/4) AAS
 >>225 
 LineCastは判定線の長さが限られているから、直下だけの判定できるけど、 
 RayCastだと判定線の長さが伸びるから、下方向(距離無関係)の判定になっちゃうよ 
 
 >>224 
 1フレームで見れば、velocityの直接変更も、AddForce(Impulse)も同じだけど、 
 velocityの直接変更は、ボタン押下中、毎フレーム呼び出されても同じ値が代入されるのに対して、 
 AddForce(Impulse)は、ボタン押下中、毎フレーム呼び出されて加算されてどんどん加速するからね 
 
 AddForceで、gravityと同じ値で逆方向に加速すると、重力が相殺されて、速度が保存されるよ 
231: 2018/01/01(月)12:32 ID:PNv1Z/iK(1) AAS
 なぜ皆さんはこんな無駄なことに時間を費やすのか? 
 アセットを買えばすぐに解決するのに 
232: 2018/01/01(月)15:25 ID:ljD1K3gw(3/4) AAS
 >>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をセットして連続での再ジャンプを防止 
233(1): 2018/01/01(月)15:36 ID:ljD1K3gw(4/4) AAS
 接地判定は、足元に別コライダーを接地しておいて、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 = 地面のレイヤーとの接地判定すると、コライダーを追加する必要はなくなるよ 
234: 2018/01/01(月)18:00 ID:j7kcIBAU(2/6) AAS
 >>228 
 
 変わるんですね 
 
 unityは、静止摩擦係数、動摩擦係数とか、滑り摩擦、転がり摩擦とかも設定できるんですか? 
235(2): 2018/01/01(月)18:03 ID:j7kcIBAU(3/6) AAS
 Debug.DrawLineだと、Lineしか引けないんですけど、 
 
 Boxを描画したり、Circleを描画したりしたいんですけど、どうすれば良いんでしょうか? 
236(1): 2018/01/01(月)18:45 ID:6abiTkqK(2/2) AAS
 静止摩擦係数、動摩擦係数だけです 
上下前次1-新書関写板覧索設栞歴
あと 766 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.013s