使用unity3D制作场景的时候,我们需要在里面导入各种模型,其中有些比较复杂的模型我们需要给其添加碰撞效果,这时候我们可以使用对应的网格碰撞组件,然后自己设置相对更精确的网格作为碰撞检测的范围就可以了,下面就给大家带来实际 *** 作,希望能帮助到有需要的人。
工具/软件
电脑型号:联想(Lenovo)天逸510S; 系统版本:Windows7; 软件版本:Unity3D
方法/步骤
第1步
打开unity3d场景在里面导入一个相对更复杂的模型。
第2步
首先我们给这个模型添加Rigdibody刚体组件。
第3步
接着在Compont给其添加Mesh Collider组件。
第4步
勾选里面的 Convex,会默认根据自己的模型生成一个碰撞范围,但是不是很精确。
第5步
如果要更精确的碰撞,我们可以根据模型对应的部分,创建多个碰撞网格模型。
第6步
然后我们展开模型,把里面的网格ear1拖放到Mesh中,然后勾选Convex就可以在对应的位置建立碰撞范围,比如这里的右边的耳朵。
第7步
接着我们可以再次添加一个Mesh Collider把模型的另一个耳朵ear也添加上碰撞范围ear2。
第8步
同样的方式我们可以把模型需要添加碰撞的地方都添加上去,然后运行就可以得到更真实的物理效果了。
特别提示
作为碰撞使用的每个模型网格点面不能超过256个,否则转换的时候会报错
为fbx物体添加capsule collider组件之后再添加刚体组件,物体就不会穿过地面下沉了。在立方体上面添加一个Rigidbody刚体组件,并在上面添加一个Tertest脚本。给脚本添加OnCollisionEnter方法,可以检测碰撞collider,详细步骤:
1、打开unity3d创建一个地面Terrain。
2、接着创建一个立方体模型Cube。
3、在立方体上面添加一个Rigidbody刚体组件。
4、并在上面添加一个Tertest脚本。
5、给脚本添加OnCollisionEnter方法,可以检测碰撞collider。
6、在方法判断是否与地面Terrain接触并发生碰撞了,是的话就修改为红颜色。
if(theCollision.gameObject.name=="Terrain"){
GetComponent<Renderer>().material.color = new Color (255,0,0)
}
7、运行unity3d场景,发现立方体会下落,当掉落到地面后就变成了红颜色。
1、启动 Unity 3D 后,在d出的 Project Wizard(项目向导)对话框中,单击 Create New Project(新建项目),创建一个新的工程,可以设置工程的目录,然后修改文件名称和文件路径。
2、新建项目:在 Project name 下(项目名称)中输入项目名称,然后在 Location(项目路径)下选择项目保存路径并且选择 2D 或者 3D 工程的默认配置,最后在 Add Assets Package 中选择需要加载的系统资源包。设置完成后,单击 Create project 按钮完成新建项目。Unity 3D 会自动创建一个空项目,其中会自带一个名为 Main Camera 的相机和一个 Directional Light 的直线光。
3、加载资源包:创建好新项目后,由于每个项目中可能会有多个不同的场景或关卡,所以开发人员往往要新建多个场景。新建场景的方法是:选择 Unity 3D 软件界面上的菜单 File(文件)→New Scene(新建场景)命令即可新建场景。
4、创建游戏物体:选择 GameObject(游戏对象)→3D Object(三维物体)→Plane(平面)命令创建一个平面用于放置物体。
5、创建平面:选择 GameObject(游戏对象)→3D Object(三维物体)→Cube(立方体)命令创建一个立方体。
6、创建立方体:最后使用场景控件调整物体位置,从而完成游戏物体的基本创建。
7、添加游戏物体组件:游戏物体组件可以通过 Inspector(属性编辑器)显示,这些组件还可以附加很多组件。例如要为 Cube(立方体)组件添加 Rigidbody(刚体)组件,选中 Cube,执行 Component(组件)→Physics(物理)→Rigidbody(刚体)菜单命令,为游戏物体 Cube 添加 Rigidbody 组件。
8、rigidbody组件:Rigidbody 添加完成后,在 Scene(场景)视图中单击 Cube 并将其拖曳到平面上方,然后单击 Play 按钮进行测试,可以发现 Cube 会做自由落体运动,与地面发生相撞,最后停在地面。
9、项目保存:执行 File(文件)→Save Scene(保存场景)菜单命令或按快捷键 Ctrl+S。
10、保存场景命令:在d出的保存场景对话框中输入要保存的文件名。此时在 Project(项目)面板中能够找到刚刚保存的场景。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)