mes 发表于 2021-3-16 13:46

已解决?)二维图像插入三维环境

forum.unity.com/threads/problem-solving-2d-billboard-sprites-clipping-into-3d-environment.680374/
刚好昨天搜到这贴,也两年了(才有人来解决),具体shader写法不懂,不过重新建个号复制进unity里试过似乎可行,剩下就是怎么调整坐标了。
原理大概如图
但总的来说2D混3D不是个好主意,要是用现在那些引擎是因为没技术的话,这是gzdoom里纯水平视角,注意柱子。2D的话完全没问题,但……3D明显帧数更高就是了。

古代人皮克 发表于 2021-3-16 17:00

3D里面插2D纸片最适用的环境刚好还是这个实例里面日本一的游戏

GuardHei 发表于 2021-3-16 17:11

本帖最后由 GuardHei 于 2021-3-16 17:12 编辑

billboard也有很多种,完全对齐屏幕的在你这个视角,会上下倾斜,容易clip。而且客观来说视角俯仰一变,效果也不太对。我之前做类似的东西时候到的做法就是只把sprite绕y轴对齐相机。如果游戏里没有特别薄的墙的话,也可以试试给个z offset?

—— 来自 S1Fun

viperasi 发表于 2021-3-16 17:35

这里有个实现饥荒风格的视频
https://www.bilibili.com/video/BV1DT4y1A7DJ?from=search&seid=11101496765812031891

看主题应该是类似RO风格.不知道这个视频有没有借鉴意义

mes 发表于 2021-3-17 14:16

GuardHei 发表于 2021-3-16 17:11
billboard也有很多种,完全对齐屏幕的在你这个视角,会上下倾斜,容易clip。而且客观来说视角俯仰一变,效 ...

这是把与地面45度或其他角度改成垂直地面,就是为了防止插入墙内。
当然我也没懂,这好像是从原来的位置向着屏幕方向投影,不是按比例拉原来的图像。
有种说法是offset每张显卡效果不一样,当然不知对不对。

GuardHei 发表于 2021-3-17 15:15

mes 发表于 2021-3-17 14:16
这是把与地面45度或其他角度改成垂直地面,就是为了防止插入墙内。
当然我也没懂,这好像是从原来的位置 ...

垂直地面就是我说的billboard只绕y轴”转”对着相机,而不是把整个面片都对着相机。

offset是有一部分的大小取决于平台实现,但是那个是能分辨的最小深度unit,基本可以无视差异

—— 来自 S1Fun

瓦格雷 发表于 2021-3-17 16:14

RO啊   或者 你星际2找爆笑星际的mod

mes 发表于 2021-3-17 20:29

GuardHei 发表于 2021-3-17 15:15
垂直地面就是我说的billboard只绕y轴”转”对着相机,而不是把整个面片都对着相机。

offset是有一部分的 ...

要是你有需要,试试就明白了,比起一堆不懂的人(我们)只用口述。发出来纯供刚好有需要的人看到,也希望新日式像素RPG以后能不要用那么平视的视角(虽然估计我都不会玩)。

GuardHei 发表于 2021-3-17 20:31

mes 发表于 2021-3-17 20:29
要是你有需要,试试就明白了,比起一堆不懂的人(我们)只用口述。发出来纯供刚好有需要的人看到,也希望 ...

我之前搓过一个仿doom的小玩意儿,当时就是碰到你说的这个问题的。我知道你说的是什么,你想复杂了,你把它放到3d空间里就很简单的一个事

—— 来自 S1Fun

mes 发表于 2021-3-18 14:08

GuardHei 发表于 2021-3-17 20:31
我之前搓过一个仿doom的小玩意儿,当时就是碰到你说的这个问题的。我知道你说的是什么,你想复杂 ...

如果不用普通3D透视,那简单,可以直接拉伸垂直地面方向,但2D也行,视乎有没有原因非得做3D。如果想做RO轨迹等那样普通就会插进3D里,为什么要这么复杂的原因是,问题就是如何做出那些游戏里应有的效果,而不是绕过问题。
但这个方法问题是,墙不一定按照面对镜头的角度,就像doom那图里那样,要是不能保证角色图里有些什么向左右伸出太多,那一样会插入。
页: [1]
查看完整版本: 已解决?)二维图像插入三维环境