六翼天使494 发表于 2021-1-1 09:52

Unity中,实现在已有模型上挖孔的思路是什么?

Unity中,实现在已有模型上挖孔的思路是什么?

我是来围观的逊 发表于 2021-1-1 09:53

简单粗暴的实现:美术做两个模型,替换就好啦。
实时改变顶点,除了麻烦还要考虑性能。
题主说的第1个思路,用shader控制不渲染cube内部,如果你的窗户不放进墙壁里 只是前后遮挡,应该可以。具体实现,shader方面我没深入了解。

六翼天使494 发表于 2021-1-1 09:57

最近写了个screen space 布尔减的shader, 发布到asset store了, Asset Store链接。思路很简单,用来减的物体渲染正面和背面深度到一张贴图,然后被减的物体读取该贴图把中间的clip掉。

动图:

六翼天使494 发表于 2021-1-1 10:06

你需要的可能是像Unreal引擎中的BSP Brush功能,Unity也有类似的插件,如SabreCSG Brush Tools

123456819 发表于 2021-1-1 10:06

首先你要说做什么事,然后再来讨论怎么做

比如你这个问题我第一反应你要做的是类似装修网站上的预览效果,窗户需要实时替换,并且窗户大小,位置也需要根据不同的操作变化。

这样的话你就需要临时用shader处理。
或者计算能力允许的话,墙体改为拼接,在需要开窗的位置不放置墙体模型,围绕窗户做墙体。

如果窗户位置固定,重做模型吧,这个比较简单。

冀苍鸾 发表于 2021-1-1 10:15

手动生成顶点构建mesh
三角形拆分算法打孔
重新计算uv坐标
贴图
搞定

茉莉707 发表于 2021-1-1 10:18

stencil或者ztest都有办法,但是unity里用这个实现光影是无法穿透的,

hecgdge4 发表于 2021-1-1 10:24

你好,我问一下你这个能发布到安卓或者ios吗

jimmy肖明 发表于 2021-1-1 10:26

可以试试通过morpher来实现
页: [1]
查看完整版本: Unity中,实现在已有模型上挖孔的思路是什么?