Skip to content

Commit 1a14366

Browse files
committed
docs: VRMC_springBone_limit, update pseudocode to reference limit instead of joint for limit params
Suggested by @ousttrue: #496 (comment)
1 parent 04b0db9 commit 1a14366

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

specification/VRMC_springBone_limit-1.0/README.ja.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -413,15 +413,15 @@ tailDir = tailDir.applyQuaternion(rotation);
413413
以下は、擬似コードによるコーンリミットの参考実装です。
414414

415415
```ts
416-
// tailDirのy要素をjointに設定されたangleの余弦と比較する
417-
let cosAngle = cos(joint.angle);
416+
// tailDirのy要素をlimitに設定されたangleの余弦と比較する
417+
let cosAngle = cos(limit.angle);
418418
if (tailDir.y < cosAngle) {
419-
// x・z要素を、tailDirの正弦とjointに設定されたangleの正弦の比を用いてスケールする
419+
// x・z要素を、tailDirの正弦とlimitに設定されたangleの正弦の比を用いてスケールする
420420
let ratio = sqrt((1.0 - cosAngle * cosAngle) / (1.0 - tailDir.y * tailDir.y));
421421
tailDir.x *= ratio;
422422
tailDir.z *= ratio;
423423

424-
// y要素を、jointに設定されたangleの余弦とする
424+
// y要素を、limitに設定されたangleの余弦とする
425425
tailDir.y = cosAngle;
426426
}
427427
```
@@ -435,14 +435,14 @@ if (tailDir.y < cosAngle) {
435435
tailDir.x = 0.0;
436436
tailDir = tailDir.normalized;
437437

438-
// tailDirのy要素をjointに設定されたangleの余弦と比較する
439-
let cosAngle = cos(joint.angle);
438+
// tailDirのy要素をlimitに設定されたangleの余弦と比較する
439+
let cosAngle = cos(limit.angle);
440440
if (tailDir.y < cosAngle) {
441-
// z要素を、tailDirの正弦とjointに設定されたangleの正弦の比を用いてスケールする
441+
// z要素を、tailDirの正弦とlimitに設定されたangleの正弦の比を用いてスケールする
442442
let ratio = sqrt((1.0 - cosAngle * cosAngle) / (1.0 - tailDir.y * tailDir.y));
443443
tailDir.z *= ratio;
444444

445-
// y要素を、jointに設定されたangleの余弦とする
445+
// y要素を、limitに設定されたangleの余弦とする
446446
tailDir.y = cosAngle;
447447
}
448448
```
@@ -456,16 +456,16 @@ if (tailDir.y < cosAngle) {
456456
var phi = atan2(tailDir.z, tailDir.y);
457457
var theta = asin(tailDir.x);
458458

459-
// phi・thetaをjointに設定されたphi・thetaを用いて制限する
460-
if (abs(phi) > joint.phi) {
459+
// phi・thetaをlimitに設定されたphi・thetaを用いて制限する
460+
if (abs(phi) > limit.phi) {
461461
isLimited = true;
462-
phi = joint.phi * sign(phi);
462+
phi = limit.phi * sign(phi);
463463
}
464464

465-
// thetaをjointに設定されたthetaを用いて制限する
466-
if (abs(theta) > joint.theta) {
465+
// thetaをlimitに設定されたthetaを用いて制限する
466+
if (abs(theta) > limit.theta) {
467467
isLimited = true;
468-
theta = joint.theta * sign(theta);
468+
theta = limit.theta * sign(theta);
469469
}
470470

471471
// tailDirをphi・thetaを用いて再計算する

0 commit comments

Comments
 (0)