GOSUKE FACTORY

何かの記録

2021/08/30 - 
MSC
ItemRotation
  • アイテムの回転軸を自分の視点に固定にして、アイテムの回転をやりやすくしました。





2021/08/24 - 
MSC
HONDA NSR50 for My Summer Car
  • 給油できないバグを修正


 破壊テストの動画。よくよく考えるとパーツ単位で綺麗にばらけるのは、結構違和感がある。





2021/08/10 - 
MSC
HONDA NSR50 for My Summer Car
  • 正常にNSR50が表れないバグを修正
  • バイクの挙動を調整
  • ブレーキをしたときに転倒しにくくした

ItemRotation
  • 手に持ったアイテムがYとZ方向に回転できるようにします。


2021/07/12 - 
MSC



 NSR50 を組み立て分解できるように作業をしています。Fredrik さんの PartMagnet System を改良して使ってたのですが、負荷がかかった時のパーツが外れる動作で問題が発生したので、Joint を使わない方法でやってみました。上記の動画は、Joint を使ってパーツ同士を接続した方の動画です。

 Joint で接続しているので各パーツに Rigidbody があるわけですが、これのせいで各パーツのコリジョンが重なっていると、オブジェクト同士が反発しあってふっとんでいったりしてしまいます。Rigidbody の is Kinematic を 変更してみたりしても変わらず、レイヤーで除外すればすんなり解決しそうですが、MOD でそれをいじると他で影響がでそうなのでいじれません。Unity Editor 上ではコリジョンが重なってても問題ないのになぁ、なんでだろう。

 そういうわけで Joint を使わないで外部からの衝撃でパーツがちゃんと外れるようにしてみましたが、これができるまで結構大変でした。

 親に Rigidbody をつけて、子に各パーツを配置してそれにコリジョンをつけるわけですが、子に OnCollisionEnter をつけて当たり判定をとると、その子を取得するのではなく親が取得されるという仕様。OnTriggerEnter こちらの方はちゃんと子を取得できますが、どれくらいの力で互いに衝突したのかが必要なのでこちらは使えません。子のパーツに Rigidbody をつければちゃんとその子が取得されますが、そうするとコリジョンが重なっていると挙動が不安定になってしまう。

 そこでどうしたものかと調べたら、Collision.contacts なるもの使うといいらしく


foreach (ContactPoint col in collision.contacts)
{
	ModConsole.Print(col);
}


collision.contacts[0].thisCollider.transform.gameObject

 こんな感じで取得できるそうで、下の方がすっきりしてるのでそちらを使う事にしました。ぶつかった時の衝撃力の取得方法は下記の通り。共に、OnCollisionEnter 内に書きます。


collision.relativeVelocity.magnitude


参考リンク
  • onCollisionEnter does not work on a child colider - Unity Forum (Unity Forum)
  • Unity: how to detect collision occuring on child object, from a parent script? - Game Development Stack Exchange (Game Development Stack Exchange)



  • 2021/05/18 - 
    MSC
     GetComponentsInChildren() の引数を true にする。

    
    ignore_collList.AddRange(gameObject.GetComponentsInChildren<Collider>(true));
    

    2021/05/15 - 
    MSC
     ハンドモードとツールモードのキーを変更できるようにしました。左手でマウス・右手でテンキーを使っているので、デフォの設定の数字キーだと非常に使い辛い。

    keybind for tool mode
     12・[3]・45 次5最後


    Youtube Twitter



     当サイトはPC版ゲームのMODを中心に取り扱うなか、私gosukeのたわ言をつらつらと記録しています。(MODとはModification、元のゲームに様々な要素を追加・改変する事で、オリジナルのゲームよりさらに楽しめる幅が広がります。)

     また、リンクフリーではありますが、ファイルへの直リンクは出来ればご遠慮お願い致します。バナーでリンクする場合は下にあるバナーを使用して下さい。

    管理者:gosuke

    banner

    意見、要望、感想、叱咤、激励、などなどありましたら下の意見箱またはX(旧Twitter)にメッセージをどうぞ。
    意見箱