Coder Social home page Coder Social logo

kawaiiphysics's Introduction

Kawaii Physics

English doc :
https://github.com/pafuhana1213/KawaiiPhysics/blob/master/README_en.md

Forum :
日本語 https://forums.unrealengine.com/international/japan/1679269
英語 https://forums.unrealengine.com/community/released-projects/1638095

はじめに

Kawaii Physicsは UnrealEngine4用に作成した疑似物理プラグインです。
髪、スカート、胸などの揺れものを「かんたんに」「かわいく」揺らすことができます。


お借りしたキャラクタ:Gray ちゃん http://rarihoma.xvs.jp/products/graychan


https://www.youtube.com/watch?v=UvpEIBGegvs
お借りしたキャラクタ:ミライ小町 https://www.bandainamcostudios.com/works/miraikomachi/

特徴


  • 元の形状を尊重しつつ、アニメーションやSkeletalMeshComponentの移動・回転を元に物理制御を行います。
  • プラグインに含まれる「KawaiiPhysicsノード」をAnimationBPのAnimGraphで使う形です。
  • 指定したボーンとそれ以下のボーンをキャラクタの動きに合わせて揺らせます。
  • 物理制御用のパラメータは2種類だけなので、エンジン標準のAnimDynamicsに比べて簡単にセットアップできます。
  • 球・カプセル・平面コリジョンを追加することができます
  • アニメーションエディタのビューポート上で各コリジョンの位置・向き・大きさを調整できます
  • 骨の長さを維持するため、仮に計算が破綻しても骨が伸び縮みすることがありません。
  • PhysXは使わずにシンプルなアルゴリズムを使用しているため、エンジン標準の物理システムに比べて負荷が低い(はず)です。

物理挙動を実装するにあたって参考にした資料
次期アイドルマスター グラフィクス&アニメーション プログラミング プレビュー

動作環境

  • UE4.24.2

UE4.21以前でビルドする場合は、KawaiiPhysicsEditMode.cpp における
GEngine->ConstraintLimitMaterialPrismatic->GetRenderProxy () を
GEngine->ConstraintLimitMaterialPrismatic->GetRenderProxy (false) に修正する必要があります。

使い方

サンプル

内部実装について

その1 http://pafuhana1213.hatenablog.com/entry/2019/07/26/171046

ライセンス

MIT

作者

おかず@pafuhana1213

ハッシュタグ

#KawaiiPhysics

履歴

2019/2/16 v1.4.2
Standalone実行時に正常に動作しない不具合を修正
2019/1/31 v1.4.1
SphereLimitのLimitTypeがInnerの場合、Outer設定時に異なりBoneのRadius設定を考慮してなかった不具合の修正
1.3.1以前の挙動に戻したい方は CVarEnableOldPhysicsMethodSphereLimit を 1 に設定してください

2019/1/31 v1.4.0
重力変数の位置更新の計算がgt^2でなくgtになっていたので修正
1.3.1以前の重力計算を使用したい場合は p.KawaiiPhysics.EnableOldPhysicsMethodGravity を 1 に設定してください

2019/1/31 v1.3.1
TeleportRotationThresholdの計算にてラジアンと度が混在していたことでWorldRotationのテレポート対応がほぼ機能してなかった不具合を修正
(monguri 様、ありがとうございました!)
2019/1/31 v1.3.0
UE4.24.2 に対応
(TheHoodieGuy02 様、ありがとうございました!)
2019/10/29 v1.2.1
・World Damping系を従来処理に差し戻し。30fps時の挙動が更に安定しました
(@seiko_dev 様、ありがとうございました!)
2019/10/26 v1.2.0
・簡易可変フレームレート対応。フレームレート低下時の挙動が少し安定するようになったはず
(@seiko_dev 様、ありがとうございました!)
・基準フレームレートを設定できるようにしました(デフォルト:60)(正直テスト不足です。何かあったらissueへ
・カーブの調整用に各ボーンの始点からの長さの割合をデバッグ表示するようにしました
2019/10/19 v1.1.2
BoneのScaleが(1,1,1)以外の環境に対応できてなかったので修正
(shop-0761様、ありがとうございました!)
2019/9/11 v1.1.1
Bone.LengthFromRoot の計算が間違っていたのを修正
(KazumasaOhashi様、ありがとうございました!)
2019/8/26 v1.1
WindDirectionalSourceに対応しました(注意:従来のWind設定に対して破壊的変更が入ります)
2019/7/20 v1.0.1
CollisionのOffsetLocationがボーンのRotationを考慮していない不具合の修正
(v1.0 におけるOffsetLocationの挙動が大きく変化します)
2019/7/2 v1.0 公開 v1.0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.