Unity3D Physics Keynote

Unity3D Physics Keynote

1、在哪设置Layer Collision Matrix?

  "Edit"->"Project Settings"->"Physics"。

  

2、“Import Package”->"Physic Meterial",是Unity自带的物理材质包。

3、"Import Package"->"Character Controller",是Unity自带的视角控制器。

4、生成从摄像机到点的Ray,并判断与Ray相交的点。

  

5、关了断裂。

  

6、joint通过connectedBody进行与其它对象的连接。

  

7、布料,Interactive Cloth、Cloth Render两个组件共同组成了布料。通过以下代码可以操作布料:

 1 using UnityEngine;
 2 using System.Collections;
 3
 4 public class Script_06_12 : MonoBehaviour
 5 {
 6
 7     //布料对象
 8     Cloth cloth = null;
 9
10     void Start()
11     {
12         //获取布料对象
13         cloth = (Cloth)GetComponent<InteractiveCloth>();
14     }
15
16     void OnGUI()
17     {
18         //移动布料
19         if(GUILayout.RepeatButton("向上"))
20         {
21             cloth.externalAcceleration =  new Vector3(0,1,0);
22         }
23         if(GUILayout.RepeatButton("向下"))
24         {
25             cloth.externalAcceleration =  new Vector3(0,-1,0);
26
27         }
28         if(GUILayout.RepeatButton("向左"))
29         {
30             cloth.externalAcceleration =  new Vector3(1,0,0);
31         }
32         if(GUILayout.RepeatButton("向右"))
33         {
34             cloth.externalAcceleration =  new Vector3(-1,0,0);
35
36         }
37     }
38
39 }

8、通过TrailRender组件可以渲染走过的路径。通过以下代码可以操作此组件:

 1 public class Script_06_13 : MonoBehaviour
 2 {
 3     //路径渲染对象
 4     private TrailRenderer trialRender;
 5
 6     void Start ()
 7     {
 8         //获取路径渲染对象
 9         trialRender = gameObject.GetComponent<TrailRenderer>();
10     }
11
12     void OnGUI()
13     {
14
15         if(GUILayout.Button("增加宽度",GUILayout.Height(50)))
16         {
17             trialRender.startWidth +=1;
18             trialRender.endWidth   +=1;
19         }
20
21         if(GUILayout.Button("显示路径",GUILayout.Height(50)))
22         {
23             trialRender.enabled = true;
24         }
25
26         if(GUILayout.Button("隐藏路径",GUILayout.Height(50)))
27         {
28             trialRender.enabled = false;
29         }
30     }
31 }

  

  

Unity3D Physics Keynote

时间: 2024-08-25 20:12:04

Unity3D Physics Keynote的相关文章

Unity3D Script Keynote

[Unity3D Script Keynote] 1.通过GameObject.CreatePrimitive()来创建对象.AddComponent()用于给对象添加一个组件. 2.GameObject.Find()方法中传入对象的在Hierarchy中的路径名,即可获取该对象. 3.通过Destroy()方法可以销毁对象. 4.发送消息. 需要注意,SendMessageUpwards()函数首先会将消息发送给自己,然后才会发送给父类. 5.旋转分为以下2种,Rotate绕自己旋转,Rota

Unity3D深入浅出 -创造 物理材质(Physics Materials)

在Unity3d中已经配置好了5种常用的物理材质,Bouncy.Ice.Metal.Rubber.Wood,在菜单中依次选择Assets - Import Package - Physics Materials 即可导入,下面以Ice(冰)材质为例介绍其物理参数. Daynamic Friction:动力摩擦力,对象在运动时的摩擦力,取值范围0~1 Static Friction:静态摩擦力,对象被放置在表面时的摩擦力,取值范围0~1,取值接近0时可模拟冰的效果. Bounciness:反弹,取

[原]Unity3D深入浅出 - 物理材质(Physics Materials)

在Unity3d中已经配置好了5种常用的物理材质,Bouncy.Ice.Metal.Rubber.Wood,在菜单中依次选择Assets - Import Package - Physics Materials 即可导入,下面以Ice(冰)材质为例介绍其物理参数. Daynamic Friction:动力摩擦力,对象在运动时的摩擦力,取值范围0~1 Static Friction:静态摩擦力,对象被放置在表面时的摩擦力,取值范围0~1,取值接近0时可模拟冰的效果. Bounciness:反弹,取

【转】Unity3D 射线Ray实现点击拾取

游戏中经常会有鼠标移动到某个对象上来拾取它的功能,我们可以用Unity3D中的射线Ray实现这一效果.原理是在我们鼠标的位置,从屏幕射出一条射向世界空间的射线,当这条射线碰撞到我们需要拾取的对象时,我们就销毁对象,把它添加到我们的背包中. 我们来做一个简单的Demo,我们在场景中添加一个方块Cube,一个小球Sphere,当我们鼠标放在方块上时没有任何反应,而当我们把鼠标放在小球上时,小球会消失. 新建一个项目,我们命名为"RayTest",然后在场景中新建一个小球,方块,和添加灯光,

Unity3D独立游戏开发日记(二):摆放建筑物

在沙盒游戏里,能自由建造是很重要的特点,比如说风靡全球的<我的世界>,用一个个方块就能搭建出规模宏大的世界.甚至有偏激的人说,没有自由建造,就不是一个真正的沙盒游戏.的确,沙盒游戏的魅力有很大一部分是能自由构建一个游戏世界.看着自己一砖一瓦搭建起一个城堡世界会很有成就感的. 现如今的手游,大多数就是一个争斗和炫耀的世界.不管是传奇类的狂霸拽酷,还是连连看,消消乐等好友排名,就是消费国人的虚荣心.其实,游戏是第九艺术,要上升到艺术的角度.在游戏里,玩家需要一种情感的宣泄和寄托以及体验. 说了这么

Unity3D脚本学习——运行时类

AssetBundle 类,继承自Object.AssetBundles让你通过WWW类流式加载额外的资源并在运行时实例化它们.AssetBundles通过BuildPipeline.BuildAssetBundle创建. 参见:WWW.assetBundle ,Loading Resources at Runtime ,BuildPipeline.BuildPlayer function Start () { var www = new WWW ("http://myserver/myBund

Unity3D学习笔记之八为场景添加细节(一)

这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程<Unity游戏引擎的基础入门视频教程>,下载链接附在第二篇学习笔记中. 我花了30分钟做了一个中等大小的迷宫场景,不知道大家自己发挥,做的场景大小如何. 在完成场景之后,我们看到Hierarchy视图里面的东西已经满了,所以我们先来整理一下Hierarchy视图.创建一个空的游戏物体命名为Environment. 然后来到Hierarchy视图,先讲First Person Controller找到,挪到最上方,然后选中第一个物体,按住

Unity3d 寻路功能 介绍及项目演示

Unity3d中的寻路,可以使用AStarPath 寻路插件.现在也可以使用Unity自带的 Navigation 功能来做. 来做一个例子: 上面的图片中,Cube 是阻碍物体,球 是代表玩家,要寻路. 设置Cube为不可通过物体 首先我们点击Window - Navigation 窗口,然后选中4个Cube,按照下图设置这4个Cube为不可通过,然后烘培 设置地面为可通过,然后烘培 我们给圆球也就是我们的主角加上控制脚本 using UnityEngine; using System.Col

Unity3D Optimizing Graphics Performance for iOS

原地址:http://blog.sina.com.cn/s/blog_72b936d801013ptr.html icense Comparisons http://unity3d.com/unity/licenses#iphone Optimizing Graphics Performance http://unity3d.com/support/documentation/Manual/Optimizing Graphics Performance.html iOS A useful bac