@quenty/ik 15.8.0-canary.490.601c967.0 → 15.8.1-canary.491.adb5527.0
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 +16 -3
- package/package.json +23 -23
- package/src/Client/Rig/IKRigClient.lua +1 -1
- package/src/Server/Rig/IKRig.lua +1 -1
- package/src/Shared/Arm/ArmIKBase.lua +5 -9
- package/src/Shared/Arm/ArmIKBase.story.lua +1 -3
- package/src/Shared/Arm/ArmIKUtils.lua +1 -1
- package/src/Shared/Rig/IKRigBase.lua +5 -6
package/CHANGELOG.md
CHANGED
|
@@ -3,12 +3,25 @@
|
|
|
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
|
-
|
|
6
|
+
## [15.8.1-canary.491.adb5527.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/ik@15.8.0...@quenty/ik@15.8.1-canary.491.adb5527.0) (2024-08-27)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @quenty/ik
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [15.8.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/ik@15.7.1...@quenty/ik@15.8.0) (2024-08-09)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @quenty/ik
|
|
17
|
+
|
|
7
18
|
|
|
8
19
|
|
|
9
|
-
### Features
|
|
10
20
|
|
|
11
|
-
|
|
21
|
+
|
|
22
|
+
## [15.7.1](https://github.com/Quenty/NevermoreEngine/compare/@quenty/ik@15.7.0...@quenty/ik@15.7.1) (2024-07-16)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @quenty/ik
|
|
12
25
|
|
|
13
26
|
|
|
14
27
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quenty/ik",
|
|
3
|
-
"version": "15.8.
|
|
3
|
+
"version": "15.8.1-canary.491.adb5527.0",
|
|
4
4
|
"description": "Inverse Kinematics for characters on Roblox",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Roblox",
|
|
@@ -26,35 +26,35 @@
|
|
|
26
26
|
"Quenty"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@quenty/acceltween": "2.
|
|
30
|
-
"@quenty/baseobject": "10.
|
|
31
|
-
"@quenty/binder": "14.5.0
|
|
32
|
-
"@quenty/brio": "14.4.0
|
|
33
|
-
"@quenty/camera": "14.6.0
|
|
34
|
-
"@quenty/characterutils": "12.4.0
|
|
35
|
-
"@quenty/humanoidtracker": "13.4.0
|
|
36
|
-
"@quenty/instanceutils": "13.4.0
|
|
37
|
-
"@quenty/loader": "10.
|
|
29
|
+
"@quenty/acceltween": "2.4.0",
|
|
30
|
+
"@quenty/baseobject": "10.3.0",
|
|
31
|
+
"@quenty/binder": "14.5.0",
|
|
32
|
+
"@quenty/brio": "14.4.0",
|
|
33
|
+
"@quenty/camera": "14.6.0",
|
|
34
|
+
"@quenty/characterutils": "12.4.0",
|
|
35
|
+
"@quenty/humanoidtracker": "13.4.0",
|
|
36
|
+
"@quenty/instanceutils": "13.4.0",
|
|
37
|
+
"@quenty/loader": "10.3.0",
|
|
38
38
|
"@quenty/maid": "3.2.0",
|
|
39
39
|
"@quenty/math": "2.7.0",
|
|
40
|
-
"@quenty/motor6d": "7.6.0
|
|
41
|
-
"@quenty/optional": "11.
|
|
42
|
-
"@quenty/promise": "10.
|
|
43
|
-
"@quenty/qframe": "10.
|
|
44
|
-
"@quenty/r15utils": "13.4.0
|
|
45
|
-
"@quenty/ragdoll": "15.7.
|
|
46
|
-
"@quenty/remoting": "12.5.0
|
|
47
|
-
"@quenty/rx": "13.4.0
|
|
48
|
-
"@quenty/servicebag": "11.
|
|
49
|
-
"@quenty/signal": "7.
|
|
40
|
+
"@quenty/motor6d": "7.6.0",
|
|
41
|
+
"@quenty/optional": "11.3.0",
|
|
42
|
+
"@quenty/promise": "10.3.0",
|
|
43
|
+
"@quenty/qframe": "10.3.0",
|
|
44
|
+
"@quenty/r15utils": "13.4.0",
|
|
45
|
+
"@quenty/ragdoll": "15.7.1-canary.491.adb5527.0",
|
|
46
|
+
"@quenty/remoting": "12.5.0",
|
|
47
|
+
"@quenty/rx": "13.4.0",
|
|
48
|
+
"@quenty/servicebag": "11.4.0",
|
|
49
|
+
"@quenty/signal": "7.3.0",
|
|
50
50
|
"@quenty/table": "3.5.0",
|
|
51
|
-
"@quenty/valueobject": "13.4.0
|
|
51
|
+
"@quenty/valueobject": "13.4.0"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@quenty/rigbuilderutils": "10.6.0
|
|
54
|
+
"@quenty/rigbuilderutils": "10.6.0"
|
|
55
55
|
},
|
|
56
56
|
"publishConfig": {
|
|
57
57
|
"access": "public"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "adb55278c70c19c3ef22a9ee6c00e8b82337aaaf"
|
|
60
60
|
}
|
|
@@ -19,7 +19,7 @@ IKRigClient.__index = IKRigClient
|
|
|
19
19
|
require("PromiseRemoteEventMixin"):Add(IKRigClient, IKConstants.REMOTE_EVENT_NAME)
|
|
20
20
|
|
|
21
21
|
function IKRigClient.new(humanoid, serviceBag)
|
|
22
|
-
local self = setmetatable(IKRigBase.new(humanoid
|
|
22
|
+
local self = setmetatable(IKRigBase.new(humanoid), IKRigClient)
|
|
23
23
|
|
|
24
24
|
self._serviceBag = assert(serviceBag, "No serviceBag")
|
|
25
25
|
|
package/src/Server/Rig/IKRig.lua
CHANGED
|
@@ -19,7 +19,7 @@ IKRig.ClassName = "IKRig"
|
|
|
19
19
|
IKRig.__index = IKRig
|
|
20
20
|
|
|
21
21
|
function IKRig.new(humanoid, serviceBag)
|
|
22
|
-
local self = setmetatable(IKRigBase.new(humanoid
|
|
22
|
+
local self = setmetatable(IKRigBase.new(humanoid), IKRig)
|
|
23
23
|
|
|
24
24
|
self._serviceBag = assert(serviceBag, "No serviceBag")
|
|
25
25
|
|
|
@@ -21,7 +21,6 @@ local RxBrioUtils = require("RxBrioUtils")
|
|
|
21
21
|
local RxInstanceUtils = require("RxInstanceUtils")
|
|
22
22
|
local RxR15Utils = require("RxR15Utils")
|
|
23
23
|
local ValueObject = require("ValueObject")
|
|
24
|
-
local TieRealmService = require("TieRealmService")
|
|
25
24
|
|
|
26
25
|
local CFA_90X = CFrame.Angles(math.pi/2, 0, 0)
|
|
27
26
|
local USE_OLD_IK_SYSTEM = (not LimbIKUtils) or false
|
|
@@ -31,14 +30,11 @@ local ArmIKBase = setmetatable({}, BaseObject)
|
|
|
31
30
|
ArmIKBase.ClassName = "ArmIKBase"
|
|
32
31
|
ArmIKBase.__index = ArmIKBase
|
|
33
32
|
|
|
34
|
-
function ArmIKBase.new(humanoid, armName
|
|
33
|
+
function ArmIKBase.new(humanoid, armName)
|
|
35
34
|
local self = setmetatable(BaseObject.new(), ArmIKBase)
|
|
36
35
|
|
|
37
36
|
self._humanoid = humanoid or error("No humanoid")
|
|
38
37
|
self._armName = assert(armName, "No armName")
|
|
39
|
-
self._serviceBag = assert(serviceBag, "No serviceBag")
|
|
40
|
-
|
|
41
|
-
self._tieRealmService = self._serviceBag:GetService(TieRealmService)
|
|
42
38
|
|
|
43
39
|
self._grips = {}
|
|
44
40
|
|
|
@@ -113,7 +109,7 @@ function ArmIKBase:_ensureAnimator(character, partName, motorName, getTranform)
|
|
|
113
109
|
|
|
114
110
|
topMaid:GiveTask(RxR15Utils.observeRigMotorBrio(character, partName, motorName):Pipe({
|
|
115
111
|
RxBrioUtils.switchMapBrio(function(motor)
|
|
116
|
-
return Motor6DStackInterface:ObserveLastImplementationBrio(motor
|
|
112
|
+
return Motor6DStackInterface:ObserveLastImplementationBrio(motor)
|
|
117
113
|
end);
|
|
118
114
|
}):Subscribe(function(brio)
|
|
119
115
|
if brio:IsDead() then
|
|
@@ -203,19 +199,19 @@ function ArmIKBase:_observeStateBrio()
|
|
|
203
199
|
|
|
204
200
|
ShoulderMotor6DStack = observeShoulderBrio:Pipe({
|
|
205
201
|
RxBrioUtils.switchMapBrio(function(motor)
|
|
206
|
-
return Motor6DStackInterface:ObserveLastImplementationBrio(motor
|
|
202
|
+
return Motor6DStackInterface:ObserveLastImplementationBrio(motor);
|
|
207
203
|
end);
|
|
208
204
|
Rx.defaultsToNil;
|
|
209
205
|
});
|
|
210
206
|
ElbowMotor6DStack = observeElbowBrio:Pipe({
|
|
211
207
|
RxBrioUtils.switchMapBrio(function(motor)
|
|
212
|
-
return Motor6DStackInterface:ObserveLastImplementationBrio(motor
|
|
208
|
+
return Motor6DStackInterface:ObserveLastImplementationBrio(motor);
|
|
213
209
|
end);
|
|
214
210
|
Rx.defaultsToNil;
|
|
215
211
|
});
|
|
216
212
|
WristMotor6DStack = observeWristBrio:Pipe({
|
|
217
213
|
RxBrioUtils.switchMapBrio(function(motor)
|
|
218
|
-
return Motor6DStackInterface:ObserveLastImplementationBrio(motor
|
|
214
|
+
return Motor6DStackInterface:ObserveLastImplementationBrio(motor);
|
|
219
215
|
end);
|
|
220
216
|
Rx.defaultsToNil;
|
|
221
217
|
});
|
|
@@ -10,11 +10,9 @@ local RunService = game:GetService("RunService")
|
|
|
10
10
|
local Maid = require("Maid")
|
|
11
11
|
local RigBuilderUtils = require("RigBuilderUtils")
|
|
12
12
|
local ArmIKBase = require("ArmIKBase")
|
|
13
|
-
local ServiceBag = require("ServiceBag")
|
|
14
13
|
|
|
15
14
|
return function(_target)
|
|
16
15
|
local maid = Maid.new()
|
|
17
|
-
local serviceBag = maid:Add(ServiceBag.new())
|
|
18
16
|
|
|
19
17
|
maid:GivePromise(RigBuilderUtils.promisePlayerRig(4397833)):Then(function(character)
|
|
20
18
|
maid:GiveTask(character)
|
|
@@ -22,7 +20,7 @@ return function(_target)
|
|
|
22
20
|
local humanoid = character.Humanoid
|
|
23
21
|
local position = Workspace.CurrentCamera.CFrame:pointToWorldSpace(Vector3.new(0, 0, -10))
|
|
24
22
|
|
|
25
|
-
local armIKBase = ArmIKBase.new(humanoid, "Right"
|
|
23
|
+
local armIKBase = ArmIKBase.new(humanoid, "Right")
|
|
26
24
|
maid:GiveTask(armIKBase)
|
|
27
25
|
|
|
28
26
|
local attachment = Instance.new("Attachment")
|
|
@@ -19,7 +19,7 @@ function ArmIKUtils.ensureMotorAnimated(character, armName)
|
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
local maid, motor = brio:ToMaidAndValue()
|
|
22
|
-
local ragdollMotorData = RagdollMotorData:
|
|
22
|
+
local ragdollMotorData = RagdollMotorData:CreateValue(motor)
|
|
23
23
|
|
|
24
24
|
ragdollMotorData.IsMotorAnimated.Value = true
|
|
25
25
|
maid:GiveTask(function()
|
|
@@ -15,12 +15,11 @@ local IKRigBase = setmetatable({}, BaseObject)
|
|
|
15
15
|
IKRigBase.ClassName = "IKRigBase"
|
|
16
16
|
IKRigBase.__index = IKRigBase
|
|
17
17
|
|
|
18
|
-
function IKRigBase.new(humanoid
|
|
19
|
-
local self = setmetatable(BaseObject.new(humanoid
|
|
18
|
+
function IKRigBase.new(humanoid)
|
|
19
|
+
local self = setmetatable(BaseObject.new(humanoid), IKRigBase)
|
|
20
20
|
|
|
21
|
-
self.
|
|
22
|
-
|
|
23
|
-
self.Updating = self._maid:Add(Signal.new())
|
|
21
|
+
self.Updating = Signal.new()
|
|
22
|
+
self._maid:GiveTask(self.Updating)
|
|
24
23
|
|
|
25
24
|
self._ikTargets = {}
|
|
26
25
|
self._character = humanoid.Parent or error("No character")
|
|
@@ -108,7 +107,7 @@ function IKRigBase:_getNewArm(armName)
|
|
|
108
107
|
return nil
|
|
109
108
|
end
|
|
110
109
|
|
|
111
|
-
local newIk = ArmIKBase.new(self._obj, armName
|
|
110
|
+
local newIk = ArmIKBase.new(self._obj, armName)
|
|
112
111
|
table.insert(self._ikTargets, newIk)
|
|
113
112
|
|
|
114
113
|
return newIk
|