我要怎么控制1个四足Character NPC的动画

[复制链接]
67 |10
Fus Ro Dah 发表于 3 天前 | 显示全部楼层 |阅读模式
本帖最后由 Fus Ro Dah 于 2025-3-12 09:09 编辑

问题描述及使用流程:教程里都是玩家角色控制的, 怎么控制四足生物? 试了下, animation.play()都返回true了, 但是实际完全没效果

相关截图或视频:

补充信息(版本、日志等):
代码如下


    protected async onStart(): Promise<void> {
        if (SystemUtil.isClient()) {
            this.useUpdate = false;
            let c = this.gameObject as Character;
            await c.asyncReady();
            const animId = "306309"
            await AssetUtil.asyncDownloadAsset(animId);
            let anime: Animation = c.loadAnimation(animId);
            anime.loop = 999999
            anime.speed = 1
            anime.play();

            console.info("anime " + anime.isPlaying)
            // c.changeState(CharacterStateType.Flying);
        }
    }



我试了下换人形角色就可以正常播(当然也换了人形的相关动画), 非人形的角色就不行了(我尝试的播放动画是"西方龙地面行走", 角色也是"西方龙", 动画应该是匹配的, 而且我试过了loadStance,loadAnimation,loadSubStance全都播不出来), 但是我看实际发布的游戏是有宠物的, 所以应该是有办法播才对, 但是我在官方教程里找不到
回复

使用道具 举报

复读机读复读机 发表于 前天 09:59 | 显示全部楼层
一般原因是动画不匹配,可以看一下西方龙模型的AssetID吗
回复

使用道具 举报

Fus Ro Dah楼主 发表于 前天 10:05 | 显示全部楼层
复读机读复读机 发表于 2025-3-12 09:59
一般原因是动画不匹配,可以看一下西方龙模型的AssetID吗

问题是我咋知道哪个角色要匹配哪个动画? 我要把所有四足+动画全都试一遍? 四足角色叫"西方龙", 动画也是"西方龙地面行走", 然后结果是播不出来, 那这些功能要咋用???
回复

使用道具 举报

Fus Ro Dah楼主 发表于 前天 10:13 | 显示全部楼层
另外一个更有意思的是, 我按照 https://docs.ark.online/Role/Ani ... F%E6%AC%A1%E6%95%B0
这里的, 换成猫的角色, 然后播放 181289 这个动画, 确实能播, 但是在资源库里甚至都搜不到 181289 这个资源, 也就是说能播的资源是藏起来的, 能搜到的动画资源很多都播不了...
回复

使用道具 举报

复读机读复读机 发表于 前天 17:36 | 显示全部楼层
Fus Ro Dah 发表于 2025-3-12 10:13
另外一个更有意思的是, 我按照 https://docs.ark.online/Role/AnimationAndStane.html#%E5%8A%A8%E7%94%BB% ...

收到 已经反馈给资源相关负责人 可以提供一下西方龙的assetID和西方龙地面走动的AssetID吗
回复

使用道具 举报

复读机读复读机 发表于 前天 17:42 | 显示全部楼层
Fus Ro Dah 发表于 2025-3-12 10:13
另外一个更有意思的是, 我按照 https://docs.ark.online/Role/AnimationAndStane.html#%E5%8A%A8%E7%94%BB% ...

动画是306309 四足资源是327879吗
回复

使用道具 举报

Fus Ro Dah楼主 发表于 昨天 09:28 | 显示全部楼层
复读机读复读机 发表于 2025-3-12 17:42
动画是306309 四足资源是327879吗

角色是 307750 307751 307752 362778 任意一个
动画是 306309
你发的 327879 我在资源库完全搜不到
我的编辑器版本是
0.43.0.2
0.43.0.3
2个版本都试了, 都播不了
回复

使用道具 举报

复读机读复读机 发表于 昨天 11:13 | 显示全部楼层
Fus Ro Dah 发表于 2025-3-13 09:28
角色是 307750 307751 307752 362778 任意一个
动画是 306309
你发的 327879 我在资源库完全搜不到

可以检查一下this.gameObject是否为Character。
或者新建一个Character,设置成多足形象,然后将形象设置为西方龙

image.png

回复

使用道具 举报

复读机读复读机 发表于 昨天 11:23 | 显示全部楼层
这个龙是静态模型,所以直接拖出来的话是一个mesh而不是Character
image.png
回复

使用道具 举报

Fus Ro Dah楼主 发表于 昨天 11:31 | 显示全部楼层
本帖最后由 Fus Ro Dah 于 2025-3-13 11:34 编辑

我又查了一下, 西方龙的动画资源在下载(调用 asyncDownloadAsset )那里就失败了
然后我换了个
"帽衫蓝猫"的角色, id = 327776
播动画 426031 (这次确认 asyncDownloadAsset 是返回 true 的)
播不了
但是, 我把 自定义部位-整体形象 换成 447445
就能播了

也就是默认从NPC里拖出来的不能播, 得换一下  自定义部位-整体形象 才能播

然后又试了下
"帽衫蓝猫"的角色, id = 327776, 不更换任何东西
教程里 181289 这个动画又能播

这里很混乱, 能播不能播的, 非常让人费解

回复

使用道具 举报

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