Unity记录3.1-地图-TileMap简单使用、鼠标拖动放置Tile

汇总:Unity 记录

上章的课程接下来是巡逻的敌人,不过我地图还没创建好,教程的 AI 估计不适合,所以先停一下,搞地图,这部分估计比较久咯。

参考:
Unity 中文手册 2021.1
Unity 2D-Extras

Tilemap 创建-2023/02/22

  • 手册写的好繁琐。
  • 创建个 Tilemap,然后把贴图弄进去变成 tile,再调整 tile size,或者对应调整贴图的 Pixels Per Unit,让一个贴图占满一个 tile。
    • 这个我弄的倒是很简单,Pixels Per Unit 用的是默认 100,然后把 tile size 调成 0.5 就刚刚好。
    • 我的每个贴图是 25x25 的。
  • 然后给 tilemap 加一个 tile collider 2d,即可添加碰撞。

Unity 2D-Extras-2023/2/23

  • 看 Tilemap 教程的时候发现官方有额外的 2D 插件,考虑到我目前还没见过和我想象中一样的 2D 世界,所以先把这个 2D 插件翻翻。
    • Unity 2D-Extras
    • 理论上是把所有功能都了解一下,看看能不能拓展一下思路。
  • 笔刷
    • Random:随机 Tile。
    • Prefab:放预制件。
    • Group:同组。
  • Tiles
    • Animated:序列播放贴图
    • Pipeline:根据周围四格 Tile 改变自身材质,应该就是 1x1 和 1x2 的图像不一样的那种。
    • Terrain:Pipeline 的升级版,八格。
    • 挺好,当时我看有人实现了东西,用的双重循环,我还想着卷积可以改进,官方有提供自然更好了。
    • 或者叫滤波器,一个 3x3 滤波器,刚好 GPU 可以加速。
  • 惊了,怎么看一会就没了。
    • 我还想着看个几天,期待会有地图生成的工具呢,可恶。
    • 简单看了一下 Terrain 的源码,似乎是朴素的实现方式,不知道是不是有其它加速。

基于神经网络的 AI-2023/02/24

  • 刷视频刷到一个用神经网络实现的 AI,心痒痒,但是想想如果拿去训小怪的话应该会很麻烦,如果只训练一个的话感觉有点可行性,以后再说。

Terrain tiles 规则-2023/02/25

  • 按 GitHub 上讲的安装了,我还以为没装成功,没找到 tile 在哪,原来得在资产里创建。
  • Terrain tiles 的规则如下图,标号表示 Tile 从上到下的顺序。

鼠标事件-2023/02/26

鼠标按下生成 Tile-2023/02/26

void Update(){
    if (input_base.isKeydown("Fire1")){
        Vector3Int pos_tilemap = tilemap_modify.WorldToCell(input_base.get_mouse_pos(1));
        place_tile(tilemap_modify, pos_tilemap, tile_place);
    }
}

void place_tile(Tilemap tilemap, Vector3Int pos, TileBase tile){
    tilemap.SetTile(pos, tile);
}

版权声明:
作者:MWHLS
链接:https://mwhls.top/4456.html
来源:无镣之涯
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>