外力をキャラクターごとに設定するように変更

This commit is contained in:
notargs
2022-10-20 15:31:59 +09:00
parent a60d199559
commit 46e3ec70d5
9 changed files with 78 additions and 33 deletions

View File

@@ -22,9 +22,8 @@ namespace UniVRM10.FastSpringBones.System
[NativeDisableParallelForRestriction] public NativeArray<BlittableTransform> Transforms;
public float DeltaTime;
public Vector3 ExternalForce;
public void Execute(int index)
public unsafe void Execute(int index)
{
var spring = Springs[index];
var transformIndexOffset = spring.transformIndexOffset;
@@ -62,7 +61,7 @@ namespace UniVRM10.FastSpringBones.System
var parentRotation = parentTransform?.rotation ?? Quaternion.identity;
// verlet積分で次の位置を計算
var external = (joint.gravityDir * joint.gravityPower + ExternalForce) * DeltaTime;
var external = (joint.gravityDir * joint.gravityPower + spring.ExternalData->ExternalForce) * DeltaTime;
var nextTail = currentTail
+ (currentTail - prevTail) * (1.0f - joint.dragForce) // 前フレームの移動を継続する(減衰もあるよ)
+ parentRotation * logic.localRotation * logic.boneAxis *