@memori.ai/memori-react 7.13.4 → 7.14.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.
Files changed (56) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/components/Avatar/Avatar.css +2 -2
  3. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js +15 -7
  4. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -1
  5. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +7 -4
  6. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  7. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AnimationController.d.ts +38 -0
  8. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AnimationController.js +181 -0
  9. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AnimationController.js.map +1 -0
  10. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.d.ts +19 -0
  11. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.js +60 -0
  12. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.js.map +1 -0
  13. package/dist/components/Avatar/AvatarView/AvatarComponent/components/{FullbodyAvatar/MorhTargetController.js → controllers/MorphTargetController.js} +6 -4
  14. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js.map +1 -0
  15. package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js +3 -3
  16. package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js.map +1 -1
  17. package/esm/components/Avatar/Avatar.css +2 -2
  18. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js +15 -7
  19. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -1
  20. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +6 -3
  21. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  22. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AnimationController.d.ts +38 -0
  23. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AnimationController.js +177 -0
  24. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AnimationController.js.map +1 -0
  25. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.d.ts +19 -0
  26. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.js +56 -0
  27. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.js.map +1 -0
  28. package/esm/components/Avatar/AvatarView/AvatarComponent/components/{FullbodyAvatar/MorhTargetController.js → controllers/MorphTargetController.js} +6 -4
  29. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js.map +1 -0
  30. package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js +2 -2
  31. package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/components/Avatar/Avatar.css +2 -2
  34. package/src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx +115 -67
  35. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx +5 -3
  36. package/src/components/Avatar/AvatarView/AvatarComponent/components/{FullbodyAvatar → controllers}/AnimationController.ts +52 -1
  37. package/src/components/Avatar/AvatarView/AvatarComponent/components/{PositionController.ts → controllers/AvatarPositionController.ts} +1 -1
  38. package/src/components/Avatar/AvatarView/AvatarComponent/components/{MorphTargetController.ts → controllers/MorphTargetController.ts} +1 -2
  39. package/src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx +2 -2
  40. package/src/index.stories.tsx +16 -0
  41. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/MorhTargetController.js.map +0 -1
  42. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/constants.d.ts +0 -17
  43. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/constants.js +0 -25
  44. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/constants.js.map +0 -1
  45. package/dist/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.d.ts +0 -26
  46. package/dist/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js +0 -166
  47. package/dist/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js.map +0 -1
  48. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/MorhTargetController.js.map +0 -1
  49. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/constants.d.ts +0 -17
  50. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/constants.js +0 -22
  51. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/constants.js.map +0 -1
  52. package/esm/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.d.ts +0 -26
  53. package/esm/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js +0 -163
  54. package/esm/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js.map +0 -1
  55. /package/dist/components/Avatar/AvatarView/AvatarComponent/components/{FullbodyAvatar/MorhTargetController.d.ts → controllers/MorphTargetController.d.ts} +0 -0
  56. /package/esm/components/Avatar/AvatarView/AvatarComponent/components/{FullbodyAvatar/MorhTargetController.d.ts → controllers/MorphTargetController.d.ts} +0 -0
@@ -34,12 +34,12 @@ export const AvatarView = ({ stopProcessing, chatEmission, showControls, animati
34
34
  }
35
35
  if (isRPM) {
36
36
  const emotion = handleRPMBlendShape(outputContent);
37
- setEmotionMorphTargets((_) => ({ ...defaultEmotions, ...emotion }));
37
+ setEmotionMorphTargets(_ => ({ ...defaultEmotions, ...emotion }));
38
38
  }
39
39
  else {
40
40
  const emotion = handleCustomGLBBlendShape(outputContent);
41
41
  const emotionValues = emotion === 'default' ? defaultEmotions : emotionMap[emotion];
42
- setEmotionMorphTargets((_) => ({ ...defaultEmotions, ...emotionValues }));
42
+ setEmotionMorphTargets(_ => ({ ...defaultEmotions, ...emotionValues }));
43
43
  }
44
44
  }, [isRPM, handleRPMBlendShape, handleCustomGLBBlendShape]);
45
45
  const onBaseActionChange = useCallback((action, outputContent) => {
@@ -53,19 +53,27 @@ export const AvatarView = ({ stopProcessing, chatEmission, showControls, animati
53
53
  setMorphTargetDictionary(dictionary);
54
54
  }, []);
55
55
  useEffect(() => {
56
- var _a, _b;
56
+ var _a, _b, _c, _d;
57
57
  if (loading) {
58
58
  const randomNumber = Math.floor(Math.random() * 3) + 1;
59
59
  onBaseActionChange(`Loading${randomNumber}`, '');
60
60
  return;
61
61
  }
62
- const hasOutputTag = chatEmission === null || chatEmission === void 0 ? void 0 : chatEmission.includes('<output class="memori-emotion">');
63
- const outputContent = hasOutputTag
62
+ const hasOutputTagEmotion = chatEmission === null || chatEmission === void 0 ? void 0 : chatEmission.includes('<output class="memori-emotion">');
63
+ const outputContentEmotion = hasOutputTagEmotion
64
64
  ? (_b = (_a = chatEmission === null || chatEmission === void 0 ? void 0 : chatEmission.split('<output class="memori-emotion">')[1]) === null || _a === void 0 ? void 0 : _a.split('</output>')[0]) === null || _b === void 0 ? void 0 : _b.trim()
65
65
  : null;
66
- if (outputContent) {
66
+ const hasOutputTagSequence = chatEmission === null || chatEmission === void 0 ? void 0 : chatEmission.includes('<output class="animation-sequence">');
67
+ const outputContentSequence = hasOutputTagSequence
68
+ ? (_d = (_c = chatEmission === null || chatEmission === void 0 ? void 0 : chatEmission.split('<output class="animation-sequence">')[1]) === null || _c === void 0 ? void 0 : _c.split('</output>')[0]) === null || _d === void 0 ? void 0 : _d.trim()
69
+ : null;
70
+ if (outputContentSequence && outputContentSequence.includes('->')) {
71
+ onBaseActionChange(outputContentSequence, outputContentSequence);
72
+ }
73
+ else if (outputContentEmotion) {
74
+ console.log('[AvatarView] outputContentEmotion:', outputContentEmotion);
67
75
  const randomNumber = Math.floor(Math.random() * 3) + 1;
68
- onBaseActionChange(`${outputContent}${randomNumber}`, outputContent);
76
+ onBaseActionChange(`${outputContentEmotion}${randomNumber}`, outputContentEmotion);
69
77
  }
70
78
  else {
71
79
  const randomNumber = Math.floor(Math.random() * 5) + 1;
@@ -1 +1 @@
1
- {"version":3,"file":"avatarComponent.js","sourceRoot":"","sources":["../../../../../src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avatarComponent.js","sourceRoot":"","sources":["../../../../../src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@ import { AnimationMixer, SkinnedMesh, } from 'three';
4
4
  import { useAnimations, useGLTF } from '@react-three/drei';
5
5
  import { useFrame } from '@react-three/fiber';
6
6
  import { AnimationState } from './types';
7
- import { AnimationController } from './AnimationController';
8
- import { MorphTargetController } from '../MorphTargetController';
9
- import { AvatarPositionController } from '../PositionController';
7
+ import { AnimationController } from '../controllers/AnimationController';
8
+ import { MorphTargetController } from '../controllers/MorphTargetController';
9
+ import { AvatarPositionController } from '../controllers/AvatarPositionController';
10
10
  import { AVATAR_POSITION, AVATAR_ROTATION, ANIMATION_URLS, DEFAULT_CONFIG, SCALE_LERP_FACTOR, } from '../../constants';
11
11
  export function FullbodyAvatar({ url, sex, setIsRpm, currentBaseAction, timeScale, eyeBlink, updateCurrentViseme, setMorphTargetDictionary, setMorphTargetInfluences, emotionMorphTargets, avatarHeight = 50, avatarDepth = 0, onCameraZChange, }) {
12
12
  var _a;
@@ -93,6 +93,9 @@ export function FullbodyAvatar({ url, sex, setIsRpm, currentBaseAction, timeScal
93
93
  animationControllerRef.current.updateIsChatAlreadyStarted(true);
94
94
  animationControllerRef.current.transitionTo(AnimationState.LOADING, currentBaseAction.action);
95
95
  }
96
+ else if (currentBaseAction.action.includes('->')) {
97
+ animationControllerRef.current.playSequence(currentBaseAction.action);
98
+ }
96
99
  else if (currentBaseAction.action.startsWith('Idle')) {
97
100
  animationControllerRef.current.transitionTo(AnimationState.IDLE);
98
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fullbodyAvatar.js","sourceRoot":"","sources":["../../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fullbodyAvatar.js","sourceRoot":"","sources":["../../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { AnimationState, AnimationConfig } from '../FullbodyAvatar/types';
2
+ import { AnimationAction, AnimationMixer } from 'three';
3
+ export declare class AnimationController {
4
+ private currentState;
5
+ private currentAction;
6
+ private mixer;
7
+ private actions;
8
+ private config;
9
+ private lastIdleIndex;
10
+ private isTransitioning;
11
+ private currentIdleLoopCount;
12
+ private readonly MAX_IDLE_LOOPS;
13
+ private lastAnimationTime;
14
+ private isChatAlreadyStarted;
15
+ private sequence;
16
+ private sequenceIndex;
17
+ constructor(mixer: AnimationMixer, actions: Record<string, AnimationAction>, config?: AnimationConfig);
18
+ private checkForLoop;
19
+ private forceIdleChange;
20
+ private getNextIdleAnimation;
21
+ playSequence(sequenceString: string): void;
22
+ private parseAnimationName;
23
+ transitionTo(state: AnimationState, emotionName?: string): void;
24
+ update(delta: number): void;
25
+ getCurrentState(): AnimationState;
26
+ getLoopCount(): number;
27
+ setTimeScale(timeScale: number): void;
28
+ updateIsChatAlreadyStarted(isChatAlreadyStarted: boolean): void;
29
+ getDebugInfo(): {
30
+ currentState: AnimationState;
31
+ currentIdleIndex: number;
32
+ loopCount: number;
33
+ currentTime: number;
34
+ lastTime: number;
35
+ isTransitioning: boolean;
36
+ isChatAlreadyStarted: boolean;
37
+ };
38
+ }
@@ -0,0 +1,177 @@
1
+ import { AnimationState } from '../FullbodyAvatar/types';
2
+ import { LoopOnce } from 'three';
3
+ import { DEFAULT_CONFIG, MAX_IDLE_LOOPS_DEFAULT } from '../../constants';
4
+ export class AnimationController {
5
+ constructor(mixer, actions, config = DEFAULT_CONFIG) {
6
+ this.currentState = AnimationState.LOADING;
7
+ this.currentAction = null;
8
+ this.lastIdleIndex = -1;
9
+ this.isTransitioning = false;
10
+ this.currentIdleLoopCount = 0;
11
+ this.MAX_IDLE_LOOPS = MAX_IDLE_LOOPS_DEFAULT;
12
+ this.lastAnimationTime = 0;
13
+ this.isChatAlreadyStarted = false;
14
+ this.sequence = null;
15
+ this.sequenceIndex = 0;
16
+ this.mixer = mixer;
17
+ this.actions = actions;
18
+ this.config = config;
19
+ }
20
+ checkForLoop() {
21
+ if (!this.currentAction || this.currentState !== AnimationState.IDLE)
22
+ return;
23
+ const clip = this.currentAction.getClip();
24
+ const currentTime = this.currentAction.time;
25
+ if (currentTime < this.lastAnimationTime) {
26
+ this.currentIdleLoopCount++;
27
+ if (this.currentIdleLoopCount >= this.MAX_IDLE_LOOPS) {
28
+ this.forceIdleChange();
29
+ }
30
+ }
31
+ this.lastAnimationTime = currentTime;
32
+ }
33
+ forceIdleChange() {
34
+ this.currentIdleLoopCount = 0;
35
+ this.lastAnimationTime = 0;
36
+ this.transitionTo(AnimationState.IDLE);
37
+ }
38
+ getNextIdleAnimation() {
39
+ let nextIndex;
40
+ do {
41
+ nextIndex = Math.floor(Math.random() * this.config.idleCount) + 1;
42
+ } while (nextIndex === this.lastIdleIndex);
43
+ if (this.isChatAlreadyStarted && nextIndex === 3) {
44
+ nextIndex = this.lastIdleIndex !== 4 ? 4 : 2;
45
+ }
46
+ this.lastIdleIndex = nextIndex;
47
+ const idleAction = this.actions[`Idle${nextIndex}`];
48
+ if (!idleAction) {
49
+ throw new Error(`Idle animation ${nextIndex} not found`);
50
+ }
51
+ return idleAction;
52
+ }
53
+ playSequence(sequenceString) {
54
+ const animations = sequenceString.split('->').map(anim => anim.trim());
55
+ console.log('[AnimationController] playSequence:', animations);
56
+ this.sequence = animations;
57
+ this.sequenceIndex = 0;
58
+ const firstAnim = this.parseAnimationName(animations[0]);
59
+ this.transitionTo(AnimationState.EMOTION, firstAnim);
60
+ }
61
+ parseAnimationName(animation) {
62
+ const randomMatch = animation.match(/(\w+)\[(\d+),(\d+)\]/);
63
+ if (randomMatch) {
64
+ const [_, base, min, max] = randomMatch;
65
+ const random = Math.floor(Math.random() * (Number(max) - Number(min) + 1)) +
66
+ Number(min);
67
+ return `${base}${random}`;
68
+ }
69
+ return animation;
70
+ }
71
+ transitionTo(state, emotionName) {
72
+ if (this.isTransitioning) {
73
+ return;
74
+ }
75
+ this.isTransitioning = true;
76
+ try {
77
+ let nextAction = null;
78
+ switch (state) {
79
+ case AnimationState.LOADING:
80
+ nextAction = this.actions[emotionName || 'Loading1'];
81
+ this.currentIdleLoopCount = 0;
82
+ this.lastAnimationTime = 0;
83
+ break;
84
+ case AnimationState.EMOTION:
85
+ nextAction = this.actions[emotionName || 'Timore1'];
86
+ this.currentIdleLoopCount = 0;
87
+ this.lastAnimationTime = 0;
88
+ break;
89
+ case AnimationState.IDLE:
90
+ nextAction = this.getNextIdleAnimation();
91
+ if (this.currentState !== AnimationState.IDLE) {
92
+ this.currentIdleLoopCount = 0;
93
+ this.lastAnimationTime = 0;
94
+ }
95
+ break;
96
+ }
97
+ if (!nextAction) {
98
+ throw new Error(`No animation found for state: ${state}`);
99
+ }
100
+ if (this.currentAction) {
101
+ this.currentAction.fadeOut(this.config.fadeOutDuration);
102
+ }
103
+ nextAction.reset().fadeIn(this.config.fadeInDuration).play();
104
+ nextAction.timeScale = this.config.timeScale;
105
+ if (state !== AnimationState.IDLE) {
106
+ nextAction.setLoop(LoopOnce, 1);
107
+ nextAction.clampWhenFinished = true;
108
+ }
109
+ else {
110
+ nextAction.setLoop(Infinity, Infinity);
111
+ }
112
+ this.currentAction = nextAction;
113
+ this.currentState = state;
114
+ }
115
+ catch (error) {
116
+ console.error('[AnimationController] Error during animation transition:', error);
117
+ if (state !== AnimationState.IDLE) {
118
+ this.transitionTo(AnimationState.IDLE);
119
+ }
120
+ }
121
+ finally {
122
+ this.isTransitioning = false;
123
+ }
124
+ }
125
+ update(delta) {
126
+ if (!this.currentAction)
127
+ return;
128
+ this.checkForLoop();
129
+ if (this.sequence &&
130
+ this.currentState === AnimationState.EMOTION &&
131
+ this.currentAction.time >= this.currentAction.getClip().duration * 0.9) {
132
+ this.sequenceIndex++;
133
+ if (this.sequenceIndex < this.sequence.length) {
134
+ const nextAnim = this.parseAnimationName(this.sequence[this.sequenceIndex]);
135
+ this.transitionTo(AnimationState.EMOTION, nextAnim);
136
+ }
137
+ else {
138
+ this.sequence = null;
139
+ this.sequenceIndex = 0;
140
+ this.transitionTo(AnimationState.IDLE);
141
+ }
142
+ }
143
+ if (this.currentState !== AnimationState.IDLE &&
144
+ this.currentAction.time >= this.currentAction.getClip().duration * 0.9) {
145
+ this.transitionTo(AnimationState.IDLE);
146
+ }
147
+ this.mixer.update(delta);
148
+ }
149
+ getCurrentState() {
150
+ return this.currentState;
151
+ }
152
+ getLoopCount() {
153
+ return this.currentIdleLoopCount;
154
+ }
155
+ setTimeScale(timeScale) {
156
+ this.config.timeScale = timeScale;
157
+ if (this.currentAction) {
158
+ this.currentAction.timeScale = timeScale;
159
+ }
160
+ }
161
+ updateIsChatAlreadyStarted(isChatAlreadyStarted) {
162
+ this.isChatAlreadyStarted = isChatAlreadyStarted;
163
+ }
164
+ getDebugInfo() {
165
+ var _a;
166
+ return {
167
+ currentState: this.currentState,
168
+ currentIdleIndex: this.lastIdleIndex,
169
+ loopCount: this.currentIdleLoopCount,
170
+ currentTime: ((_a = this.currentAction) === null || _a === void 0 ? void 0 : _a.time) || 0,
171
+ lastTime: this.lastAnimationTime,
172
+ isTransitioning: this.isTransitioning,
173
+ isChatAlreadyStarted: this.isChatAlreadyStarted,
174
+ };
175
+ }
176
+ }
177
+ //# sourceMappingURL=AnimationController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimationController.js","sourceRoot":"","sources":["../../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AnimationController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Vector3 } from 'three';
2
+ export declare class AvatarPositionController {
3
+ private currentScale;
4
+ private targetScale;
5
+ private currentPosition;
6
+ private basePosition;
7
+ private defaultPosition;
8
+ private zoomedPosition;
9
+ private initialCameraPosition;
10
+ constructor(defaultPosition?: Vector3, zoomedPosition?: Vector3, initialCameraZ?: number);
11
+ private mapHeightToScale;
12
+ private mapDepthToCamera;
13
+ updateHeight(heightValue: number, isHalfBody: boolean): void;
14
+ updateDepth(depthValue: number, isHalfBody: boolean): number;
15
+ updateBasePosition(isZoomed: boolean): void;
16
+ updateScale(lerpFactor: number): Vector3;
17
+ getPosition(): Vector3;
18
+ reset(): void;
19
+ }
@@ -0,0 +1,56 @@
1
+ import { Vector3, MathUtils } from 'three';
2
+ import { AVATAR_POSITION, AVATAR_POSITION_ZOOMED } from '../../constants';
3
+ export class AvatarPositionController {
4
+ constructor(defaultPosition = AVATAR_POSITION.clone(), zoomedPosition = AVATAR_POSITION_ZOOMED.clone(), initialCameraZ = 0.6) {
5
+ this.defaultPosition = defaultPosition;
6
+ this.zoomedPosition = zoomedPosition;
7
+ this.currentScale = new Vector3(1, 1, 1);
8
+ this.targetScale = new Vector3(1, 1, 1);
9
+ this.currentPosition = defaultPosition.clone();
10
+ this.basePosition = defaultPosition.clone();
11
+ this.initialCameraPosition = new Vector3(0, 0, initialCameraZ);
12
+ }
13
+ mapHeightToScale(sliderValue, isHalfBody) {
14
+ if (isHalfBody) {
15
+ return MathUtils.lerp(1.4, 2.1, sliderValue / 100);
16
+ }
17
+ else {
18
+ return MathUtils.lerp(0.5, 1.5, sliderValue / 100);
19
+ }
20
+ }
21
+ mapDepthToCamera(depthValue, isHalfBody) {
22
+ const baseZ = this.initialCameraPosition.z;
23
+ if (isHalfBody) {
24
+ return MathUtils.lerp(baseZ, baseZ + 3, depthValue / 100);
25
+ }
26
+ else {
27
+ return MathUtils.lerp(baseZ, baseZ + 3, depthValue / 100);
28
+ }
29
+ }
30
+ updateHeight(heightValue, isHalfBody) {
31
+ const heightScale = this.mapHeightToScale(heightValue, isHalfBody);
32
+ this.targetScale.set(heightScale, heightScale, heightScale);
33
+ }
34
+ updateDepth(depthValue, isHalfBody) {
35
+ return this.mapDepthToCamera(depthValue, isHalfBody);
36
+ }
37
+ updateBasePosition(isZoomed) {
38
+ const newPosition = isZoomed ? this.zoomedPosition : this.defaultPosition;
39
+ this.basePosition.copy(newPosition);
40
+ this.currentPosition.copy(newPosition);
41
+ }
42
+ updateScale(lerpFactor) {
43
+ this.currentScale.lerp(this.targetScale, lerpFactor);
44
+ return this.currentScale;
45
+ }
46
+ getPosition() {
47
+ return this.currentPosition;
48
+ }
49
+ reset() {
50
+ this.currentScale.set(1, 1, 1);
51
+ this.targetScale.set(1, 1, 1);
52
+ this.currentPosition.copy(this.defaultPosition);
53
+ this.basePosition.copy(this.defaultPosition);
54
+ }
55
+ }
56
+ //# sourceMappingURL=AvatarPositionController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AvatarPositionController.js","sourceRoot":"","sources":["../../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { MathUtils } from 'three';
2
- import { EMOTION_SMOOTHING, VISEME_SMOOTHING, BLINK_CONFIG } from './constants';
2
+ import { EMOTION_SMOOTHING, VISEME_SMOOTHING, BLINK_CONFIG } from '../../constants';
3
3
  export class MorphTargetController {
4
4
  constructor(headMesh) {
5
5
  this.currentEmotionValues = {};
@@ -9,6 +9,7 @@ export class MorphTargetController {
9
9
  updateMorphTargets(currentTime, emotionMorphTargets, currentViseme, eyeBlink, blinkState) {
10
10
  if (!this.headMesh.morphTargetDictionary ||
11
11
  !this.headMesh.morphTargetInfluences) {
12
+ console.error('[MorphTargetController] Missing morphTargetDictionary or morphTargetInfluences');
12
13
  return;
13
14
  }
14
15
  const blinkValue = this.calculateBlinkValue(currentTime, blinkState, eyeBlink);
@@ -20,7 +21,7 @@ export class MorphTargetController {
20
21
  if (currentEmotionKeys.has(key)) {
21
22
  const targetEmotionValue = emotionMorphTargets[key];
22
23
  const currentEmotionValue = this.currentEmotionValues[key] || 0;
23
- const newEmotionValue = MathUtils.lerp(currentEmotionValue, targetEmotionValue * 2.5, EMOTION_SMOOTHING);
24
+ const newEmotionValue = MathUtils.lerp(currentEmotionValue, targetEmotionValue * 3, EMOTION_SMOOTHING);
24
25
  this.currentEmotionValues[key] = newEmotionValue;
25
26
  targetValue += newEmotionValue;
26
27
  }
@@ -32,7 +33,8 @@ export class MorphTargetController {
32
33
  }
33
34
  targetValue = MathUtils.clamp(targetValue, 0, 1);
34
35
  if (this.headMesh.morphTargetInfluences) {
35
- this.headMesh.morphTargetInfluences[index] = MathUtils.lerp(this.headMesh.morphTargetInfluences[index] || 0, targetValue, VISEME_SMOOTHING);
36
+ const finalValue = MathUtils.lerp(this.headMesh.morphTargetInfluences[index] || 0, targetValue, VISEME_SMOOTHING);
37
+ this.headMesh.morphTargetInfluences[index] = finalValue;
36
38
  }
37
39
  });
38
40
  this.previousEmotionKeys = currentEmotionKeys;
@@ -66,4 +68,4 @@ export class MorphTargetController {
66
68
  return blinkValue;
67
69
  }
68
70
  }
69
- //# sourceMappingURL=MorhTargetController.js.map
71
+ //# sourceMappingURL=MorphTargetController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MorphTargetController.js","sourceRoot":"","sources":["../../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ import { SkinnedMesh } from 'three';
4
4
  import { useGLTF } from '@react-three/drei';
5
5
  import { useGraph, useFrame, useThree } from '@react-three/fiber';
6
6
  import { correctMaterials, isSkinnedMesh } from '../../../../../helpers/utils';
7
- import { MorphTargetController } from './MorphTargetController';
8
- import { AvatarPositionController } from './PositionController';
7
+ import { MorphTargetController } from './controllers/MorphTargetController';
8
+ import { AvatarPositionController } from './controllers/AvatarPositionController';
9
9
  import { AVATAR_POSITION, SCALE_LERP_FACTOR, AVATAR_POSITION_ZOOMED, } from '../constants';
10
10
  import { hideHands } from '../../utils/utils';
11
11
  import useHeadMovement from '../../utils/useHeadMovement';
@@ -1 +1 @@
1
- {"version":3,"file":"halfbodyAvatar.js","sourceRoot":"","sources":["../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"halfbodyAvatar.js","sourceRoot":"","sources":["../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "7.13.4",
2
+ "version": "7.14.0",
3
3
  "name": "@memori.ai/memori-react",
4
4
  "author": "Memori Srl",
5
5
  "main": "dist/index.js",
@@ -61,12 +61,12 @@
61
61
  }
62
62
 
63
63
  @media (max-width: 870px) {
64
- .memori--avatar-wrapper div,
64
+ /* .memori--avatar-wrapper div,
65
65
  .memori--avatar-wrapper canvas,
66
66
  .memori--avatar-wrapper model-viewer {
67
67
  width: 150px !important;
68
68
  height: 150px !important;
69
- }
69
+ } */
70
70
 
71
71
  .memori--avatar-wrapper model-viewer {
72
72
  margin-top: 2rem;