如何获得一个模型在场景中的实际尺寸

说明:模型没有BoxCollider,且不规则(如建筑物之类的)

1楼

可以用renderer.bounds或 mesh.bounds


2楼
可以用renderer.bounds或 mesh.bounds 模型是由很多子mesh组成的。父节点是没有meshfilter,meshrenderer这两个component的。
而且子mesh也没有一个能够表现出模型的整体轮廓,也就是说分散的mesh组成了一个Gameobject,,,


4楼
大概长宽高,自己放一个cube拉一下不就知道了么?U3D里单位都是M


5楼
关注一下。我以前用给子模型加boxcollider,求大模型的max和min来算过,但是遇到旋转的问题就不知道怎么办了,数学太搓。希望有个好的解决方法。


6楼
模型是由很多子mesh组成的。父节点是没有meshfilter,meshrenderer这两个component的。
而且子mesh也没有一个能够表现出模型的整体轮廓,也就是说分散的mesh组成了一个Gameobject


7楼
我现在知道怎么算了:
1.把模型角度记录下来,然后模型转正
2.getComponentsFromChildren<Renderer>,然后求这些Renderer的max和min,根据max和min求得size和center
3.如果需要用boxcollider套住的同学,可以在模型角度为000的时候按照求得的center和size套住,然后转成模型原本大小。

原文地址:http://www.ceeger.com/forum/read.php?tid=11744&page=1


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用Unity的Shader来完成一个模型的螺旋式缓慢显示。首先,你需要找到一个简单的Shader,它会根据你的模型的位置和角度进行渲染,然后根据螺旋动画的路径,调整你的Shader的设置,以便模型能够缓慢显示。 ### 回答2: 在Unity使用Shader完整地编写一个模型螺旋状缓慢显示需要以下步骤: 首先,创建一个3D模型,可以是立方体、球体或任何其他形状。将其导入Unity并使其可见。 接下来,创建一个名为"Spiral"的新Shader,并在Unity的内置Shader编辑器打开它。在编辑器,我们需要定义以下几个变量: 1. 「_MainTex」:此变量用于存储模型的纹理。 2. 「_ScrollSpeed」:此变量控制螺旋状缓慢显示的速度。 3. 「_Scale」:此变量控制螺旋状的尺寸。 之后,在Shader的"SubShader"部分,我们需要定义一个"Pass",用于绘制螺旋状的效果。在该"Pass",我们需要使用一段代码来实现效果,该代码将根据时间和纹理坐标计算出当前像素的颜色: float2 uv = IN.uv; float time = _Time.y * _ScrollSpeed; float2 center = float2(0.5, 0.5); float2 pos = float2((uv.x - center.x) * _Scale, (uv.y - center.y) * _Scale); float angle = atan2(pos.y, pos.x) + time; float radius = length(pos); float offset = time * radius * 0.1; float3 color = tex2D(_MainTex, float2(angle + offset, radius)).rgb; 最后,将计算得到的颜色值应用到模型的表面上,然后导出Shader。 在Unity创建一个材质,并将此Shader分配给该材质。将此材质应用到模型上后,螺旋状缓慢显示的效果就会在场景显示出来。 这是一个简单的Shader示例,可以根据具体需求进行修改和优化。 ### 回答3: 在Unity,我们可以使用Shader来实现模型的螺旋状缓慢显示效果。 首先,我们创建一个新的Shader,并命名为"SpiralShader"。在Shader,我们需要定义一些变量来控制螺旋效果的显示。 在顶点着色器,我们使用一个Time变量来控制模型的缓慢显示,可以通过在Start函数获取Time.time来获取时间。接下来,我们计算出每个顶点在模型上的位置,并将其赋值给顶点的位置。我们还可以根据需要调整顶点的颜色和法线来实现额外的效果。 在片段着色器,我们可以定义一些颜色变量,用来控制模型的颜色。我们还可以使用Time变量来实现渐变效果,例如通过计算余弦函数来控制颜色的变化。最后,我们将颜色值输出作为片段的最终颜色。 在Unity,我们可以将这个Shader应用到一个模型上,然后在播放游戏时,模型会以螺旋状的缓慢显示效果渐渐显示出来。 需要注意的是,上述的300字只是提供了一个简单的实现思路,并不能完全详细地描述如何编写完整的Shader代码来实现模型的螺旋状缓慢显示效果。在实际编写,还需要根据具体需求和效果来调整Shader代码,并添加适当的光照、纹理、材质等效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值