@quenty/ik 15.50.0 → 15.51.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/package.json +20 -20
- package/src/Client/IKServiceClient.lua +1 -3
- package/src/Server/IKService.lua +1 -1
- package/src/Shared/Arm/ArmIKBase.lua +16 -3
- package/src/Shared/IKUtils.lua +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [15.51.1](https://github.com/Quenty/NevermoreEngine/compare/@quenty/ik@15.51.0...@quenty/ik@15.51.1) (2026-05-30)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @quenty/ik
|
|
9
|
+
|
|
10
|
+
# [15.51.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/ik@15.50.0...@quenty/ik@15.51.0) (2026-05-29)
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
- Handle new animation constraints ([519e52a](https://github.com/Quenty/NevermoreEngine/commit/519e52a227fe241e30c9d92b6c9e6e92246552d3))
|
|
15
|
+
|
|
6
16
|
# [15.50.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/ik@15.49.0...@quenty/ik@15.50.0) (2026-05-20)
|
|
7
17
|
|
|
8
18
|
### Features
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quenty/ik",
|
|
3
|
-
"version": "15.
|
|
3
|
+
"version": "15.51.1",
|
|
4
4
|
"description": "Inverse Kinematics for characters on Roblox",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Roblox",
|
|
@@ -31,36 +31,36 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@quenty/acceltween": "2.7.0",
|
|
33
33
|
"@quenty/baseobject": "10.13.0",
|
|
34
|
-
"@quenty/binder": "14.
|
|
35
|
-
"@quenty/brio": "14.
|
|
36
|
-
"@quenty/camera": "14.
|
|
37
|
-
"@quenty/characterutils": "12.
|
|
38
|
-
"@quenty/humanoidtracker": "13.
|
|
39
|
-
"@quenty/instanceutils": "13.
|
|
34
|
+
"@quenty/binder": "14.36.1",
|
|
35
|
+
"@quenty/brio": "14.30.1",
|
|
36
|
+
"@quenty/camera": "14.40.1",
|
|
37
|
+
"@quenty/characterutils": "12.32.1",
|
|
38
|
+
"@quenty/humanoidtracker": "13.31.1",
|
|
39
|
+
"@quenty/instanceutils": "13.30.1",
|
|
40
40
|
"@quenty/loader": "10.11.0",
|
|
41
41
|
"@quenty/maid": "3.9.0",
|
|
42
42
|
"@quenty/math": "2.7.5",
|
|
43
|
-
"@quenty/motor6d": "7.
|
|
43
|
+
"@quenty/motor6d": "7.42.1",
|
|
44
44
|
"@quenty/nevermore-test-runner": "1.4.0",
|
|
45
45
|
"@quenty/optional": "11.11.0",
|
|
46
|
-
"@quenty/promise": "10.18.
|
|
47
|
-
"@quenty/qframe": "10.
|
|
48
|
-
"@quenty/r15utils": "13.
|
|
49
|
-
"@quenty/ragdoll": "15.
|
|
50
|
-
"@quenty/remoting": "12.
|
|
51
|
-
"@quenty/rx": "13.28.
|
|
52
|
-
"@quenty/servicebag": "11.18.
|
|
53
|
-
"@quenty/signal": "7.13.
|
|
46
|
+
"@quenty/promise": "10.18.1",
|
|
47
|
+
"@quenty/qframe": "10.22.1",
|
|
48
|
+
"@quenty/r15utils": "13.31.1",
|
|
49
|
+
"@quenty/ragdoll": "15.50.1",
|
|
50
|
+
"@quenty/remoting": "12.32.1",
|
|
51
|
+
"@quenty/rx": "13.28.3",
|
|
52
|
+
"@quenty/servicebag": "11.18.1",
|
|
53
|
+
"@quenty/signal": "7.13.1",
|
|
54
54
|
"@quenty/table": "3.9.2",
|
|
55
|
-
"@quenty/tie": "10.
|
|
56
|
-
"@quenty/valueobject": "13.
|
|
55
|
+
"@quenty/tie": "10.40.1",
|
|
56
|
+
"@quenty/valueobject": "13.31.1",
|
|
57
57
|
"@quentystudios/jest-lua": "3.10.0-quenty.2"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@quenty/rigbuilderutils": "10.
|
|
60
|
+
"@quenty/rigbuilderutils": "10.34.1"
|
|
61
61
|
},
|
|
62
62
|
"publishConfig": {
|
|
63
63
|
"access": "public"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "598b2b62b36bdcbdbbd56f7db10c399831cc6eba"
|
|
66
66
|
}
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
Handles IK for local client.
|
|
4
4
|
|
|
5
5
|
:::tip
|
|
6
|
-
Be sure to also initialize the
|
|
7
|
-
to keep IK work.
|
|
6
|
+
Be sure to also initialize the server side service [IKService].
|
|
8
7
|
:::
|
|
9
8
|
|
|
10
9
|
@client
|
|
@@ -136,7 +135,6 @@ end
|
|
|
136
135
|
the camera is pointed at.
|
|
137
136
|
|
|
138
137
|
```lua
|
|
139
|
-
|
|
140
138
|
serviceBag:GetService(require("IKServiceClient")):SetLookAround(false)
|
|
141
139
|
```
|
|
142
140
|
|
package/src/Server/IKService.lua
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Handles streaming enabled
|
|
8
8
|
* Supports NPCs
|
|
9
9
|
* Client-side animations scale with distance
|
|
10
|
-
* Client-side animations keep
|
|
10
|
+
* Client-side animations keep things silky
|
|
11
11
|
|
|
12
12
|
:::tip
|
|
13
13
|
Be sure to also initialize the client side service [IKServiceClient] on each
|
|
@@ -17,6 +17,7 @@ local Math = require("Math")
|
|
|
17
17
|
local Motor6DSmoothTransformer = require("Motor6DSmoothTransformer")
|
|
18
18
|
local Motor6DStackInterface = require("Motor6DStackInterface")
|
|
19
19
|
local QFrame = require("QFrame")
|
|
20
|
+
local R15Utils = require("R15Utils")
|
|
20
21
|
local Rx = require("Rx")
|
|
21
22
|
local RxBrioUtils = require("RxBrioUtils")
|
|
22
23
|
local RxInstanceUtils = require("RxInstanceUtils")
|
|
@@ -179,19 +180,31 @@ function ArmIKBase:_observeStateBrio()
|
|
|
179
180
|
|
|
180
181
|
local observeShoulderBrio = observeUpperArmBrio:Pipe({
|
|
181
182
|
RxBrioUtils.switchMapBrio(function(upperArm)
|
|
182
|
-
return RxInstanceUtils.observeLastNamedChildBrio(
|
|
183
|
+
return RxInstanceUtils.observeLastNamedChildBrio(
|
|
184
|
+
upperArm,
|
|
185
|
+
R15Utils.isAnimationConstraintOrMotor6D,
|
|
186
|
+
self._armName .. "Shoulder"
|
|
187
|
+
)
|
|
183
188
|
end),
|
|
184
189
|
Rx.shareReplay(1),
|
|
185
190
|
})
|
|
186
191
|
local observeElbowBrio = observeLowerArmBrio:Pipe({
|
|
187
192
|
RxBrioUtils.switchMapBrio(function(lowerArm)
|
|
188
|
-
return RxInstanceUtils.observeLastNamedChildBrio(
|
|
193
|
+
return RxInstanceUtils.observeLastNamedChildBrio(
|
|
194
|
+
lowerArm,
|
|
195
|
+
R15Utils.isAnimationConstraintOrMotor6D,
|
|
196
|
+
self._armName .. "Elbow"
|
|
197
|
+
)
|
|
189
198
|
end),
|
|
190
199
|
Rx.shareReplay(1),
|
|
191
200
|
})
|
|
192
201
|
local observeWristBrio = observeHandBrio:Pipe({
|
|
193
202
|
RxBrioUtils.switchMapBrio(function(hand)
|
|
194
|
-
return RxInstanceUtils.observeLastNamedChildBrio(
|
|
203
|
+
return RxInstanceUtils.observeLastNamedChildBrio(
|
|
204
|
+
hand,
|
|
205
|
+
R15Utils.isAnimationConstraintOrMotor6D,
|
|
206
|
+
self._armName .. "Wrist"
|
|
207
|
+
)
|
|
195
208
|
end),
|
|
196
209
|
Rx.shareReplay(1),
|
|
197
210
|
})
|