[开发者心得] 如何获取平台的形象数据、如何判断平台性别、这两个参...

[复制链接]
892 |2
黑猩猩战士 发表于 2023-6-14 14:43:08 | 显示全部楼层 |阅读模式
本帖最后由 黑猩猩战士 于 2023-6-15 10:20 编辑

       在我们的游戏开发中,为了保持游戏内的玩家形象与玩家平台上的形象一致,经常需要获取玩家平台形象,那么我们如何获取玩家平台形象呢?
编辑器提供了AccountService类用来获取用户账号信息相关的服务,其中就包含了我们需要的接口如下图:
image.png        uploadData(character: Gameplay.CharacterBase, callback?: BoolResponse | VoidResponse, index?: number, openStatus?: number): void
Service.AccountService.getInstance().uploadData 其中index代表槽位,0是主角资源位,1-5可以存放5个全套角色换装数据。
       downloadData(character: Gameplay.CharacterBase, callback?: BoolResponse | VoidResponse, index?: number): void


      Service.AccountService.getInstance().downloadData 可以下载上传过的槽位的换装资源,index默认是索引为0的主角资源。该接口的应用场景是所有接入了233账号的地方,都可以把玩家的套装数据上传到服务器,比如广场类游戏改变了形象,然后跳转到其他游戏,
      这时候下载相关资源就可以,并且通过5个索引位置,可以实现不同游戏加载不同存储的服装类型,
      比如从广场跳转到哈利波特的魔法世界类型的游戏,和跳转战地战争机器一类的游戏,就可以用不同的存储索引位置来加载不同的服装。


      使用setAppearance的setMesh方法换衣服,不需要预加载相关服装id


      这里是把玩家角色的服装信息同步到我们创建的npc上

      image.png


开发者要设置换装同样先拿到角色v2的实例,然后选择对应的部位设置要换装的资源id

    let v2 = Gameplay.getPlayer(playerId).character.setAppearance(Gameplay.HumanoidV2)


    v2 .frontHair.setMesh("1234")







这里我通过默认demo的interact按钮设置了上衣和裤子的模型,并且通过jump按钮上传到了233账号的信息里,atk按钮会下载 该信息
image.png

当上传以后,如果勾选了对象管理器里Player中的使用平台角色形象,那么233上进入游戏后会自动 应用账户编辑的数据
image.png


如何判断平台性别?
该方法是通过获取角色的体型数据来判断当前角色是否是女性角色

image.png




更多图片 小图 大图
组图打开中,请稍候......
回复

使用道具 举报

喵喵哭唧唧 发表于 2023-6-14 15:01:45 | 显示全部楼层
好凶带,能讲一下downloadData相关的其他细节么,比如如何上传形象,有多个形象时如何下载指定的形象呢
回复

使用道具 举报

吃到苦就是得到了甜 发表于 2023-6-14 18:05:40 | 显示全部楼层
学习
回复

使用道具 举报

热门版块
快速回复 返回顶部 返回列表