Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avatar shape custom emotes not working #961

Open
pravusjif opened this issue Oct 9, 2023 · 5 comments
Open

Avatar shape custom emotes not working #961

pravusjif opened this issue Oct 9, 2023 · 5 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@pravusjif
Copy link
Member

A couple of creators reported that in SDK7 AvatarShape is not supporting custom emotes and it only works with standard emotes.

const myAvatar = engine.addEntity()
AvatarShape.create(myAvatar, {
    id: "",
    emotes: ['urn:decentraland:matic:collections-v2:0xbb4edbfbc558f81d1486c373029ac5c8413f4756:0'],
    wearables: [],
  expressionTriggerId:'urn:decentraland:matic:collections-v2:0xbb4edbfbc558f81d1486c373029ac5c8413f4756:0',
  expressionTriggerTimestamp: Date.now()/1000
})

Transform.create(myAvatar, {
    position: Vector3.create(4, 0.25, 5)
})
@pravusjif pravusjif added the bug Something isn't working label Oct 9, 2023
@pravusjif pravusjif added this to the Workspace milestone Oct 9, 2023
@ProteanCoding
Copy link

@leanmendoza
Copy link

leanmendoza commented Feb 21, 2024

In godot-explorer we use AvatarEmoteCommand component to trigger emotes (this component is used as read-only for PlayerIdentityData)

Check this code:
https://github.com/leanmendoza/mannakia-dcl-scene/blob/main/src/scenes/avatar-test/index.tsx#L79
(this scene mirrors the emote the primary player triggers)

@ProteanCoding
Copy link

@leanmendoza the code you shared only works with the basic emotes, not the custom emotes, right ?

For custom emotes, this log-line from onPlayerExpressionObservable does not show a different kind of expressionId as I have in my example.

@leanmendoza
Copy link

@leanmendoza the code you shared only works with the basic emotes, not the custom emotes, right ?

For custom emotes, this log-line from onPlayerExpressionObservable does not show a different kind of expressionId as I have in my example.

The onPlayerExpressionObservable is the old one from SDK6, it only allows to listen for the primary player (engine.PlayerEntity)
The AvatarEmoteCommand component allows you to listen for every player and the emoteUrn property could be a base-emote, custom emotes (v1 and v2).
For players is read-only, for the primary player you have triggerEmote and triggerSceneEmote as well.
For AvatarShape the component is write-only and it triggers any emote you specify

@ProteanCoding
Copy link

I tried AvatarShape.getMutable(entity).expressionTriggerId = urnURL, it doesn't work.
AvatarShape.getMutable(entity).expressionTriggerId = 'wave' works, however.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Todo
Development

No branches or pull requests

3 participants