物体生成不出来

[复制链接]
1953 |15
落花入盏 发表于 2023-4-12 19:50:06 来自手机 | 显示全部楼层 |阅读模式
Screenshot_20230412_130049_tv.danmaku.bili_edit_983585613101999.jpg

就是这个生成物体的脚本 我在自己的工程里面一直运行不出物体 但是它在模板工程里是能运行出来的 说明这个脚本内容应该是可行的
并且在模板工程中 我第一次编写的脚本内容它确实运行了 但当我改掉里面的物体id 它运行出来的却还是之前的那个物体 并没有改变  而当我删掉该脚本 并建立一个新脚本再将里面的物体id设置成想要的 它也是能运行出来 就很奇怪
回复

使用道具 举报

叽里咕噜小胡桃 发表于 2023-4-12 19:51:20 | 显示全部楼层
回复

使用道具 举报

落花入盏楼主 发表于 2023-4-12 20:38:50 | 显示全部楼层
叽里咕噜小胡桃 发表于 2023-4-12 19:51
亲亲,试试最新的api呢?
https://api-docs.ark.online/classes/Gameplay.GameObject.html#spawn ...


let obj = await Gameplay.GameObject.asyncSpawn<Gameplay.StaticMesh>({
                guid: "7669",
                replicates: true,
                transform: new Transform()
               });


直接就这么用吗?完全出不来 await还报红
按提示改了一下

protected  async onStart(): Promise<void> {
        if(Util.SystemUtil.isServer()){
            let obj = await Gameplay.GameObject.asyncSpawn<Gameplay.StaticMesh>({
                guid: "7669",
                replicates: true,
                transform: new Transform()
               });
        }
    }


也不行
不知道需不需要加setWorldLocation

protected async onStart(): Promise<void>{
        if(Util.SystemUtil.isServer()){
            let obj = await Gameplay.GameObject.asyncSpawn<Gameplay.StaticMesh>({
                guid: "7669",
                replicates: true,
                transform: new Transform()
               });
            obj.setWorldLocation(Type.Vector.zero)
        }
    }


加了,还是不行 哭死


回复

使用道具 举报

叽里咕噜小胡桃 发表于 2023-4-12 20:42:33 来自手机 | 显示全部楼层
落花入盏 发表于 2023-4-12 20:38
let obj = await Gameplay.GameObject.asyncSpawn({
                guid: "7669",
                re ...

这样应该能生成出来 而且你这样写应该是生成在原点 可以把地板放低看看
另外别一onstart就生成,设置个timeout再生成
还有问题可能和预制体有关 把新建空工程 新建脚本试试 应该可以的~
回复

使用道具 举报

落花入盏楼主 发表于 2023-4-12 21:11:24 | 显示全部楼层
叽里咕噜小胡桃 发表于 2023-4-12 20:42
这样应该能生成出来 而且你这样写应该是生成在原点 可以把地板放低看看
另外别一onstart就生成,设置个t ...



protected async onStart(): Promise<void>{
        if(Util.SystemUtil.isServer()){
            setTimeout(async ()=>{
            let obj = await Gameplay.GameObject.asyncSpawn<Gameplay.StaticMesh>({
                guid: "49933",
                replicates: true,
                transform: new Transform()
               });
            obj.setWorldLocation(new Type.Vector(1,1,1))
            },3000)
        }
    }


换了个空工程 加了延时 改了坐标 还是不行 呜呜

回复

使用道具 举报

叽里咕噜小胡桃 发表于 2023-4-12 21:19:41 | 显示全部楼层
落花入盏 发表于 2023-4-12 21:11
protected async onStart(): Promise{
        if(Util.SystemUtil.isServer()){
            setTimeo ...



我生成出来了= =老哥 真的有可能是你的worldlocation的问题哦
        if(Util.SystemUtil.isServer()){
            setTimeout(async ()=>{
            let obj = await Gameplay.GameObject.asyncSpawn<Gameplay.StaticMesh>({
                guid: "49933",
                replicates: true,
                transform: new Transform()
               });
            obj.setWorldLocation(new Type.Vector(1,1,100))
            },3000)


image.png
回复

使用道具 举报

叽里咕噜小胡桃 发表于 2023-4-12 21:20:41 | 显示全部楼层
落花入盏 发表于 2023-4-12 21:11
protected async onStart(): Promise{
        if(Util.SystemUtil.isServer()){
            setTimeo ...

再不行就建议你保存好工程,关闭编辑器 重启电脑_(:3_/ 重启大发好
回复

使用道具 举报

落花入盏楼主 发表于 2023-4-12 21:50:05 | 显示全部楼层
叽里咕噜小胡桃 发表于 2023-4-12 21:20
再不行就建议你保存好工程,关闭编辑器 重启电脑_(:3_/ 重启大发好

我真的哭死,那我试试重启叭
回复

使用道具 举报

喵喵哭唧唧 发表于 2023-4-13 09:48:36 | 显示全部楼层
if(SystemUtil.isServer()){
     Gameplay.GameObject.asyncSpawn({guid: "7671"}).then(go=>{
          go.worldLocation = new Type.Vector(100,100,100)
     })
}



请尝试用这个代码试试?
回复

使用道具 举报

空伊伊 发表于 2023-4-13 09:51:22 | 显示全部楼层
看描述,会不会是没保存代码导致的?
回复

使用道具 举报

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