通常Colliders会与Rigidbody一起使用,没有添加碰撞体的刚体会彼此相互穿过. 常用碰撞体有以下几种: Box Collider:盒子碰撞体,是一个立方体外形的碰撞体,可调整为不同大小的长方体,一般可用作门,墙及平台等,也可用于交通工具的外壳.最适合的是使用在盒子和箱子上. Is Trigger:触发器,勾选后可用于触发事件,且将被物理引擎所忽略. Material:材质,采用不同的Physics Material决定了碰撞体与其他对象的交互形式. Center:碰撞体在对象局部坐标…
在虚拟世界中,任何物体都是没有活力的,要想变的真实,Rigidbody是必不可少的组件,下面介绍Rigidbody的各个属性: Mass:质量 Drag:阻力,对象在运动时遇到的空气阻力,0表示没有空气阻力,好比丢一个东西出去,如果这个东西没有阻力的话,则会一直不停的向你丢的方向所运动. Angular Drag:角阻力也称扭矩力,扭矩力是使物体发生转动的一种特殊的力炬. Use Gravity:使用重力,开启后会受到重力影响. Is Kinematic:是否开启动力学,开启后不在受物理引擎的影…
在Unity3d中已经配置好了5种常用的物理材质,Bouncy.Ice.Metal.Rubber.Wood,在菜单中依次选择Assets - Import Package - Physics Materials 即可导入,下面以Ice(冰)材质为例介绍其物理参数. Daynamic Friction:动力摩擦力,对象在运动时的摩擦力,取值范围0~1 Static Friction:静态摩擦力,对象被放置在表面时的摩擦力,取值范围0~1,取值接近0时可模拟冰的效果. Bounciness:反弹,取…
常用脚本事件: Update:每帧调用一次 Start:在第一次Update执行前调用 Awake:脚本实例在创建时调用 FixedUpdate:每个固定物理时间间隔调用一次 LateUpdate:每帧调用一次,在Update之后 MonoBehaviour类: MonoBehaviour类是uniyt中非常重要的类,定义了基本的脚本行为,所有脚本类均需要从它直接或间接继承.MonoBehaviour还定义了对各种特定事件的响应函数,这些函数名均以On作为开头,下面是一些常用的事件响应函数. O…
最近产品提了个需求(电商的APP-两鲜),需要在APP背景加上几个水果图案在那里无规则缓慢游荡...模仿 天天果园 APP的.好吧,那我就在网上找了很多文章,总结一下写个demo.效果如下: Mou icon 这里用到的是UIDynamic这个类. UIDynamic简介 一.简介 注意:UIKit动力学的引入,并不是为了替代CA或者UIView动画,在绝大多数情况下CA或者UIView动画仍然是最有方案,只有在需要引入逼真的交互设计的时候,才需要使用UIKit动力学它是作为现有交互设计和实现的…
角色控制器主要用于第一人称和第三人称主角的控制,并不使用刚体物理效果. 添加角色控制器的方法:依次打开菜单栏中的Component - Physiscs - Character Controller Slope Limit:坡度限制,角色只能爬上小宇或等于该参数值的斜坡. Step Offset:台阶高度,可以买上最高台阶的高度. Skin Width:皮肤厚度,可与其他碰撞体相互渗入的深度,参数值较大会产生抖动的现象:参数值较小会导致控制的对象被卡住.较为合理的设定就是:该参数值是Radius…
Component(组件)是用来添加到GameObject对象上的一组相关属性,本质上每个组件都是一个类的实例,比如在Cube上添加一个Mesh网格,即面向对象的思维方式可以理解成Cube对象里包含了一个Mesh对象. Component主要包含以下组件:  Mesh:添加网格类型的组件 Mesh Filter:网格过滤器 Text Mesh:文本网格 Mesh Renderer:网格渲染器 Effects:添加特效类型组件 Particle System:粒子系统 Trail Renderer…
在Box2D中碰撞事件通过实现b2ContactListener类函数实现,b2ContactListener是Box2D提供的抽象类,它的抽象函数:virtual void BeginContact(b2Contact* contact).两个物体開始接触时会响应,但仅仅调用一次. virtual void EndContact(b2Contact* contact).分离时响应. 但仅仅调用一次. virtual void PreSolve(b2Contact* contact, const…
重力的方向和地面的问题 p2中默认的方向是从上到下,如果重力默认是正数的话,物体放到世界中是会从上面往下面飘的 p2中plane地面默认的方向是y轴的方向,而在p2中y轴的方向默认是从上往下 首先来看,重力gravity是正数,并且plane地面在视图中间,小球是怎么运动 // 创建世界 this.world = new p2.World() this.world.sleepMode = p2.World.BODY_SLEEPING this.world.gravity = [0,5] // 设…
概述 简单来讲,shader是为渲染管线中的特定处理截断提供算法的一段代码.Shader是伴随着可编程渲染管线出现的,开发者可使用Shader对渲染过程加以控制,拥有更大的创作控件,因此Shader的出现可以看作是实时渲染技术的一次革命. 在现代主流3D引擎中,Shader已经无处不在,例如镜头景深,动态模糊,卡通渲染,以及各种特殊材质效果和光照效果等等. Unity中所有的渲染都需要通过Shader来完成,开发者可以自己编写Shader,也可以使用Unity提供的内建Shader来完成各种画面…