unity中模型怎么调透明?unity怎么改变物体的透明度啊?

unity中模型怎么调透明?unity怎么改变物体的透明度啊?,第1张

unity3d中创建一个cube立方体。

给cube添加“rigidbody”。

在项目“Material”中右键“Create”--“Material”创建一个Cube_tp材质。

把cube_tp直接附加到Cube上。

shader中选择“Standard”--“Legacy Shaders”--“Transparent”--“Diffuse”。

在“Script”文件夹右键“Create”--“C# Script”创建一个“Move_cube”脚本。

在Start中添加如下的代码,0.5f是透明度。

this.Getponent ().material.color = new Color(1.0f,1.0f,1.0f,0.5f)

运行游戏后我们发现立方体已经透明了。

你的物体可能是过速穿越了.

你在物体的Rigidbody组件中找到Collision Detection改成Continuous.

如果还是不行的话就试一试改成Continuous Dynamic.

(This has a big impact on physics performance, leave it set to Discrete, if you don't have issues with collisions of fast objects)

(这对物理表现有很大的影响,如果你不关心与高速物体的碰撞,那么就让其为默认的不连续模式Discrete)

场景中最好不要有过多的采用这种检测碰撞的方式.

刚体组件为游戏对象提供了物理属性,让游戏对象在场景中可以受到物理引擎的作用。当游戏对象添加了Rigidbody组件后,游戏对象便可以接受外力与扭矩力。任何游戏对象只有在添加Rigidbody组件后才会受到重力影响。当需要通过脚本为游戏对象添加作用力以及通过NVIDIA物理引擎与其它游戏对象发生互动的运算都必须有Rigidbody组件。

下面介绍两种给一个游戏对象添加一个Rigidbody组件的方式:

图1.1,由Component菜单选项添加

图1.2,直接在游戏对象的Inspector视图中添加

图1.3就是Rigidbody组件的属性面板图:

该项用于设置游戏对象的质量(同一场景中,建议游戏对象之间的质量差值不要大于100倍)。

当游戏对象受力运动时受到的空气阻力(注意,不是物体间的摩擦力),0表示没有空气阻力,阻力极大时游戏对象会立即停止运动。

当游戏对象受扭矩力旋转时受到的控制阻力。0表示没有空气阻力,阻力极大时游戏对象会立即停止旋转。

开启此项,游戏对象会受到重力的影响。

开启此项,游戏对象将不再受物理引擎的影响从而通过Transform(几何变换组件)属性来对其 *** 作。该方法适用于模拟平台的移动或者带有铰链关节刚体的动画。

None:没有插值。

Interpolate:内插值,基于前一帧的Transform平滑此次的Transform。

Extrapolate:外插值,基于下一帧的Transform平滑此次的Transform。

该属性用于控制避免高速运动的游戏对象穿过其它对象而未发生碰撞,有三个选项可供选择。

也就是说:如果你有一个快速运动的小球,它会穿过一个静态的墙,那么将球设为Continuous即可解决问题。但如果你有多个这样的小球,它们之间则依旧会遇到互相穿过对方的问题,那么将球都设为Continuous Dynamic更好。

该项用于控制对于刚体运动的约束。

Freeze Position:冻结位置。刚体对象在世界坐标系中的x,y,z轴方向上(选中状态)的移动将无效。

Freeze Rotation:冻结旋转。刚体对象在世界坐标系中的x,y,z轴方向上(选中状态)的旋转将无效。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11515013.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存