当前位置: 首页 > news >正文

Unity记录4.1-存储-根据关键字加载Tile

文章首发见博客:https://mwhls.top/4810.html。
无图/格式错误/后续更新请见首发页。
更多更新请到mwhls.top查看
欢迎留言提问或批评建议,私信不回。

汇总:Unity 记录

摘要:实现完 Tilemap 地图生成后,实现根据关键字加载Tile。

  • 保存地图首先要能根据关键字来加载地图,而不是在inspector里面拖拖拖,所以首先是根据路径加载本地文件。

Addressable Assets System(没成功)-2023/08/13-2023/08/14

  • 使用 Addressable Assets System 来进行动态地图加载。
  • 相关资源:
    • Unity中TileMap使用SetTile()加载瓦片资源_unitytilemap动态加载_魔君死神的博客
    • Load assets | Addressables | 1.21.15
  • 但是我试了很多方式,没办法实现加载tilebase,然后在tilemap上绘制。
    • 下面的代码可以正确加载prefab,执行之后会有一堆prefab在inspector上,但绘制tilemap会报错。
    • 使用tilemap绘制tile时并不会改变inspector的内容,主要问题应该是GameObject tilePrefab = handle.Result;只能使用GameObject,不能使用TileBase
        async void place_tiles(Tilemap tilemap, ArrayList pos_array){AsyncOperationHandle<GameObject> handle = Addressables.LoadAssetAsync<GameObject>("Assets/ResourcesAddressable/Prefab/Block/SoilBlock.prefab");await handle.Task;GameObject tilePrefab = handle.Result;GameObject instantiatedTile = Instantiate(tilePrefab);TileBase tile = instantiatedTile.GetComponent<TileBase>();foreach (Vector3Int pos in pos_array){tilemap.SetTile(pos, tile);}}

Resources加载-2023/08/14

  • 这个实际上是我五个月前的方案,
    • 但是因为现在有GPT可以问了,它给我推荐了Addressable,看起来也确实不错,所以先写的上面的方案。
  • 如下面代码所示,我加载的是asset,而不是prefab,只用两行就实现了。
    • 实际路径是"Assets\Resources\Tilemap\Block\Soil/1_GrassSoilBlock.asset",省略Resources及其前缀,省略文件扩展名。
    • 使用addressable加载,不论是asset还是prefab,它都返回的是GameObject类型,我找不到转为TileBase的方案。
    string tile_path = "Tilemap/Block/Soil/1_GrassSoilBlock";TileBase tile = Resources.Load<TileBase>(tile_path);
http://www.lryc.cn/news/136121.html

相关文章:

  • 数据结构—树表的查找
  • 微信小程序测试策略和注意事项?
  • VUE3封装EL-ELEMENT-PLUS input组件
  • RISC-V公测平台发布 · 在SG2042上配置Jupiter+Octave科学计算环境
  • 初识Sentinel
  • 【官方中文文档】Mybatis-Spring #注入映射器
  • UG\NX 二次开发 相切面、相邻面的选择控件
  • Quartz任务调度框架介绍和使用
  • drools8尝试
  • 【机器学习】python基础实现线性回归
  • vue table合并行 动态列名
  • Spring Cloud Alibaba-Nacos Discovery--服务治理
  • 【C++】unordered_map和unordered_set的使用 及 OJ练习
  • 初识 JVM 01
  • FPGA应用学习笔记----I2S和总结
  • 归并排序之从微观看递归
  • Pytorch-day07-模型保存与读取
  • 【C语言每日一题】01. Hello, World!
  • arm: day8
  • k8s容器加入host解析字段
  • 浅谈开发过程中完善的注释的重要性
  • Docker 微服务实战
  • JupyterHub实战应用
  • 【MySQL】视图
  • 基于 Android 剧院购票APP的开发与设计
  • 反转链表II
  • HTML 和 CSS 来实现毛玻璃效果(Glassmorphism)
  • 【技术】国标GB28181视频平台EasyGBS通过对应密钥上传到其他平台展示的详细步骤
  • SpeedBI数据可视化工具:浏览器上做分析
  • 8.21笔记