Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
c8d5da7
vrm1.0 support
tatsuya-ogawa Jan 26, 2026
6c880bd
Update Example/VisionExample/VisionExampleApp.swift
tatsuya-ogawa Jan 31, 2026
85a140f
displayName
tatsuya-ogawa Jan 31, 2026
b6a0b7f
displayName
tatsuya-ogawa Jan 31, 2026
04b327f
Update Example/VisionExample/ContentView.swift
tatsuya-ogawa Jan 31, 2026
7e8607f
materialName
tatsuya-ogawa Jan 31, 2026
0ea686a
SpringBone
tatsuya-ogawa Jan 31, 2026
445e5f6
revert Sources/VRMKit/VRM/Node.swift
tatsuya-ogawa Jan 31, 2026
b66fe1c
revert Sources/VRMKit/VRM/VRM1.swift
tatsuya-ogawa Jan 31, 2026
6371170
Revert "revert Sources/VRMKit/VRM/VRM1.swift"
tatsuya-ogawa Jan 31, 2026
51d4ff6
Revert "revert Sources/VRMKit/VRM/Node.swift"
tatsuya-ogawa Jan 31, 2026
4b5e8fd
fix test
tatsuya-ogawa Jan 31, 2026
58c01fa
fix BlendShape
tatsuya-ogawa Feb 1, 2026
c058dd8
Merge branch 'main' of github.com:tatsuya-ogawa/VRMKit into feature/v…
tatsuya-ogawa Feb 2, 2026
d8b23bd
fix comment
tatsuya-ogawa Feb 2, 2026
8b9b966
remove comments
tatsuya-ogawa Feb 2, 2026
d1cb5f3
fix comment
tatsuya-ogawa Feb 2, 2026
9451a52
mac example
tatsuya-ogawa Feb 2, 2026
dee4292
add testcase
tatsuya-ogawa Feb 2, 2026
e51ea67
remove unnecessary comment
tatsuya-ogawa Feb 2, 2026
84d9113
SwiftTesting
tatsuya-ogawa Feb 3, 2026
6abaf87
revert VRM1Tests.swift
tatsuya-ogawa Feb 3, 2026
9dd2db8
Revert "revert VRM1Tests.swift"
tatsuya-ogawa Feb 3, 2026
9876270
refactor testcase
tatsuya-ogawa Feb 3, 2026
4e407c4
allowedUserName
tatsuya-ogawa Feb 3, 2026
775d164
texture transform
tatsuya-ogawa Feb 3, 2026
cfb1b65
fix build error
tatsuya-ogawa Feb 3, 2026
141fb79
add example build pipeline
tatsuya-ogawa Feb 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
texture transform
  • Loading branch information
tatsuya-ogawa committed Feb 3, 2026
commit 775d164babbb5bbcf0e74aed6d0d72e2d8cdcc3d
25 changes: 24 additions & 1 deletion Sources/VRMKit/VRM/VRMMigration.swift
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,8 @@ public extension VRM.BlendShapeMaster {
)
}) ?? []

let materialValues: [VRM.BlendShapeMaster.BlendShapeGroup.MaterialValueBind] = (expression.materialColorBinds?.compactMap { bind -> VRM.BlendShapeMaster.BlendShapeGroup.MaterialValueBind? in
// VRM1 materialColor/textureTransform -> VRM0 materialValues
let colorValues: [VRM.BlendShapeMaster.BlendShapeGroup.MaterialValueBind] = (expression.materialColorBinds?.compactMap { bind -> VRM.BlendShapeMaster.BlendShapeGroup.MaterialValueBind? in
guard let materials = gltf.jsonData.materials, bind.material < materials.count else { return nil }
// VRM1 bind refers to material by index. Resolve the name from GLTF.
let materialName = materials[bind.material].name ?? ""
Expand All @@ -99,6 +100,28 @@ public extension VRM.BlendShapeMaster {
targetValue: bind.targetValue
)
}) ?? []

let textureValues: [VRM.BlendShapeMaster.BlendShapeGroup.MaterialValueBind] = (expression.textureTransformBinds?.compactMap { bind -> VRM.BlendShapeMaster.BlendShapeGroup.MaterialValueBind? in
guard let materials = gltf.jsonData.materials, bind.material < materials.count else { return nil }
let materialName = materials[bind.material].name ?? ""

let scale = bind.scale ?? [1.0, 1.0]
let offset = bind.offset ?? [0.0, 0.0]
let sx = scale.count > 0 ? scale[0] : 1.0
let sy = scale.count > 1 ? scale[1] : 1.0
let ox = offset.count > 0 ? offset[0] : 0.0
let oy = offset.count > 1 ? offset[1] : 0.0
// glTF(top-left) -> Unity(bottom-left)
let flippedOy = 1.0 - oy - sy

return VRM.BlendShapeMaster.BlendShapeGroup.MaterialValueBind(
materialName: materialName,
propertyName: "_MainTex_ST",
targetValue: [sx, sy, ox, flippedOy]
)
}) ?? []

let materialValues = colorValues + textureValues

groups.append(BlendShapeGroup(
binds: binds,
Expand Down
Loading