Git Product home page Git Product logo

ezsoftbone's Introduction

EZSoftBone

This package is totally FREE and open-source.
If you feel it helpful, you can buy it on AssetStore to support me. Other than that, Donations are always welcome.

If you need a refund, send your Invoice Number to [email protected]. Refund for any reason will be accepted.

EZSoftBone is a simple kinetic simulator for Unity, you can use it to simulate hair/tail/breast/skirt and other soft objects.

View it on GitHub
查看中文介绍

Tutorial Video: https://www.bilibili.com/video/BV1mz4y1Q76o

EZSoftBone EZSoftBone

  • All colliders supported (include MeshCollider)
  • Net structure supported (Cloth simulation)
  • Use EZSoftBoneMaterial to adjust effects, and reuse it on other EZSoftBones
  • Inherit EZSoftBoneColliderBase to create custom colliders
  • Beautiful wind simulator

EZSoftBone

EZSoftBone

  • Root Bones: a list of root bone Transforms
  • End Bones: a list of end bone Transforms (useful for a hierarchy that has special parts, and you want to use different materials for these parts)
  • Material: EZSoftBoneMaterial, default material will be used if not specified
  • Structure
    • Start Depth: start depth of this system. (Transform will not be controlled if its depth is less than startDepth)
    • Sibling Constraints: add constraints to the nodes that have the same depth
      • None: no sibling constraints (chain simulation)
      • Rooted: use sibling constraints for each Root Bone separately
      • Unified: use sibling constraints for the entire SoftBone system
    • Length Unification: length calculation of this system, it determines how the radius and material parameters distributed on this system
      • None: compute each chain (length of the longest child chain will be used on the branches)
      • Rooted: each root use the length of its longest child chain
      • Unified: use the length of the longest chain for the entire system
    • Sibling Rotation Constraints: should sibling constraints affect rotations
    • Closed Siblings: check this to use closed loop circle
  • Collision
    • Collision Layers: which layers should the system collide with
    • Extra Colliders: extra colliders (normal colliders required, this is for compatible purpose)
    • Radius: collider size
    • Radius Curve: how should the size distribute on the bones
  • Performance
    • Delta Time Mode
      • Delta Time: UnityEngine.Time.deltaTime
      • Unscaled Delta Time: UnityEngine.Time.unscaledDeltaTime
      • Constant: a constant value can be specified
    • Iterations: how many times should the calculations done in one frame
    • Sleep Threshold: speed below this threshold will go to sleep (useful for high frame rate)
  • Gravity
    • Gravity: gravity
    • Gravity Aligner: A transform can be specified to determine how much the gravity affects the system, inversely correlated to dot-production of aligner's y direction and world's y direction
      • eg: Create a new GameObject, leave its rotation unchanged (identical to the world space), drag it down to the head of a character, and set it as the aligner of the Hair system. You will see the grivity has no effect on the hair when the character stands still, and has maximum effect when the character lies down or bows
      • To create a context menu to reset Transform's world rotation easily, Check this page: EZTransformContextMenu
  • Force
    • Force Module: EZSoftBoneForce, wind simulation
    • Force Space: reference system of the Force Module
    • Force Scale: the output amplification of ForceModule
  • References
    • Simulate Space: A transform can be specified as a simulate space, it's useful when the system needs to be updated with a moving object (relatively static)
      • eg: a character in a moving car, hair should be relatively static to the car

EZSoftBoneMaterial

Assets/Create/EZSoftBone/SBMat

EZSoftBoneMaterial

  • Damping: speed attenuation
  • Stiffness: shape retention
  • Resistance: force resistence
  • Slackness: length retention

Each value has a corresponding curve represent the value distribution on the bone hierarchy

EZSoftBoneCollider

EZSoftBoneCollider

  • Reference Collider: All types of colliders could be referenced, EZSoftBoneCollider don't have to be on the same GameObject with its reference collider
  • Margin:
  • Inside Mode:

EZSoftBoneForce

Assets/Create/EZSoftBone/SBForce

EZSoftBoneForce_Curve EZSoftBoneForce_Perlin

  • Direction: base force vector
  • Conductivity:
  • Turbulence: force turbulence vector
  • Turbulence Mode:
    • Curve:
      • Turbulence Time Cycle: turbulence time cycle
      • Turbulence Curve: turbulence variation curves for each axis
    • Perlin:
      • Turbulence Speed: x coordinate speed for 2d perlin noise
      • Random seed: y coordinate position for 2d perlin noise

ezsoftbone's People

Contributors

ezhex1991 avatar yukkurimikan avatar

Watchers

James Cloos avatar  avatar

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.