我正在尝试通过网络将一些资产传递到我的游戏中。
在此过程中,我们只有很少的纹理和 1 个动画文件。
当尝试加载文件时,我得到:
打开:user://animTest.tres:1 - 解析错误
最终目标是能够通过 add_animation 函数将此动画添加到 AnimationPlayer ..
有什么想法可以从网络导入动画文件吗?
尝试通过http请求获取文件,并将其加载到新的动画对象中。 没用 - 出现解析错误。
设置 Godot 3.5.1 环境后,我尝试用您提供给我们的信息重建您的问题。
我在《戈多》中做了什么:
然后为了模仿从服务器加载,我做了一个简单的本地文件服务器,并将 test.tres 文件放在那里,这样 Godot 就可以下载它了。
接下来我在场景中创建了一个脚本来加载文件。因此我创建了一个 HttpRequester 节点并下载了文件:
func _ready():
$HTTPRequest.connect("request_completed", self, "_on_request_completed")
$HTTPRequest.request("http://127.0.0.1:8080/test.tres")
然后在信号中我将文件保存在系统上,然后将其作为动画加载。 播放动画确实没有问题:
func _on_request_completed(result, response_code, headers, body):
var txt = body.get_string_from_utf8()
var file : File = File.new()
file.open("user://anim.tres", file.WRITE)
file.store_string(txt)
file.close()
var anim = load("user://anim.tres")
$AnimationPlayer.add_animation("test", anim)
$AnimationPlayer.play("test")
当然,这个示例错过了错误处理和多个文件,但它展示了一种从文件服务器加载动画并播放它的方法