分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 物理材质 (Physics Material) 用于调整碰撞对象的摩擦力和反弹效果. 二.创建物理材质 要创建物理材质 (Physics Material),请从菜单栏选择[资源 (Assets)] -> [创建 (Create)] -> [物理材质 (Physics Material)].然后将物理材质 (Physics Material) 从[工程视图(Project View)]拖动到场景中的碰撞体(Coll…
在Unity3d中已经配置好了5种常用的物理材质,Bouncy.Ice.Metal.Rubber.Wood,在菜单中依次选择Assets - Import Package - Physics Materials 即可导入,下面以Ice(冰)材质为例介绍其物理参数. Daynamic Friction:动力摩擦力,对象在运动时的摩擦力,取值范围0~1 Static Friction:静态摩擦力,对象被放置在表面时的摩擦力,取值范围0~1,取值接近0时可模拟冰的效果. Bounciness:反弹,取…
在Unity3d中已经配置好了5种常用的物理材质,Bouncy.Ice.Metal.Rubber.Wood,在菜单中依次选择Assets - Import Package - Physics Materials 即可导入,下面以Ice(冰)材质为例介绍其物理参数. Daynamic Friction:动力摩擦力,对象在运动时的摩擦力,取值范围0~1 Static Friction:静态摩擦力,对象被放置在表面时的摩擦力,取值范围0~1,取值接近0时可模拟冰的效果. Bounciness:反弹,取…
Physic Materials资源包 在Unity中的项目导入Unity自带的资源包 Physic Materials,自带的资源包有不同种类的物理材质: Bouncy:有弹性的 Ice:结冰 Metal:金属 Rubber:橡胶 Wood:木质 物理材质测试 今天测试了Unity的物理材质. 测试场景一 我的场景很简单,一个Panel添加了物理材质,一个Cube在Box Collider 的Material 中也添加了物理材质,用于测试物理材质. 运行游戏,可以看到Cube像跳球一样上下跳动…
物理材料 切换到脚本   在物理学材料是用来调整摩擦和碰撞对象的反弹效应. 要创建物理材质,请从菜单栏中选择“ 资源”>“创建”>“物理材质 ”.然后将“物理材质”从“项目视图”拖动到场景中的“ 碰撞”中. 属性 属性: 功能: 动态摩擦 已经移动时使用的摩擦力.通常是从0到1的值.零值感觉像冰一样,值1会使它非常快地停下来,除非大量的力或重力推动物体. 静摩擦力 当物体静止在表面上时使用的摩擦力.通常是0到1之间的值.零值感觉像冰,值1会使对象移动变得非常困难. 反弹力 表面有多么有弹性?值…
今天打算用BOX2D物理引擎, 我想我以前听说过一些时间cocos2d-X在3.0版本封装自己的物理引擎Physics, 听名字很霸气量, 这的确是一个比BOX2D非常多( 毕竟是基于BOX2D封装的嘛), 好了, 如今我们来看看怎样使用Physics这个物理引擎, 第一步: 创建项目............略 第二部: 改动场景的创建方式 将Scene::create();换成Scene::createWithPhysics(); Scene* HelloWorld::createScene(…
[转]Unity网格合并_材质合并 原帖请戳:Unity网格合并_材质合并 写在前面: 从优化角度,Mesh需要合并. 从换装的角度(这里指的是换形状.换组成部件的换装,而不是挂点型的换装),都需要网格合并.材质合并.如果是人物的换装,那么需要合并SkinnedMeshRenderer,并重刷对应的骨骼列表. 示例: 1,新建两个Cube,和一个Cylinder.分别作为坦克的底盘(Cube_chassis).炮塔(Cube_turret).炮管(Cylinder_gun).如下图所示. 2,为…
原帖请戳:Unity网格合并_材质合并 写在前面: 从优化角度,Mesh需要合并. 从换装的角度(这里指的是换形状.换组成部件的换装,而不是挂点型的换装),都需要网格合并.材质合并.如果是人物的换装,那么需要合并SkinnedMeshRenderer,并重刷对应的骨骼列表. 示例: 1,新建两个Cube,和一个Cylinder.分别作为坦克的底盘(Cube_chassis).炮塔(Cube_turret).炮管(Cylinder_gun).如下图所示. 2,为了测试换装,我们加入三个材质球,调整…
[Physics Material] 1. The Physics Material is used to adjust friction and bouncing effects of colliding objects. Physicx Material是Collider的一个属性,用于设置摩擦系数和反弹系数. 2.具体参数如下: Dynamic Friction The friction used when already moving. Usually a value from 0 to…
再此之前推荐一款GLTF物理材质在线编辑器https://tinygltf.xyz/ 像素着色器(meshphysical_frag.glsl) #define PHYSICAL uniform vec3 diffuse; // 漫反射颜色 uniform vec3 emissive; // 自发光颜色 uniform float roughness; // 粗糙度 uniform float metalness; // 金属性 uniform float opacity;  // 透明度 #i…
物理课(physics) 题目描述 wzy正在上物理课!他发现了一个完全不会的题目:caoxia在一个奇妙的星球上(重力加速度为gg)踢了一只猫,猫飞起的路线与地面夹角为θθ (角度制),初速度为vv,猫非常地开心,所以每次落地后会自己反弹,但反弹后速度会乘以一个常数d(0≤d<1)d(0≤d<1).请问猫最后的落点离起点多远?(猫飞行时方向不会改变,飞行过程中不计空气阻力与摩擦力,所有数值单位均为国际标准单位制) 输入 第一行一个数TT,代表有TT组数据.接下来TT每行44个浮点数,分别为θ…
再此之前推荐一款GLTF物理材质在线编辑器https://tinygltf.xyz/ ThreeJS 物理材质shader源码分析(顶点着色器) Threejs将shader代码分为ShaderLib和ShaderChunk两部分,ShaderLib通过组合ShaderChunk的代码来构建vertexShader和fragmentShader.下面主要分析物理材质的shader源码,他主要的两个文件在shaderLib里面的meshphysical_vert.glsl和meshphysical…
这几天为了准备面试,所以决定对平时学习中的盲点扫盲一下,首先想到的就是物理碰撞.以前没有好好研究过,一直模糊不清,到底什么条件下才可以产生物理碰撞呢?只要其中一个有Rigidbody就可以了吗?所以进行了下面的实验. 以下内容参考了Unity圣典的组件手册. ----------------------------------------------------------------------------分割线-----------------------------------------…
写在前面 之前遇到过一些朋友问怎么在材质面板里定义类似于bool这种变量,控制一些代码的执行.我们当然可以写一个C#文件来自定义材质面板,就像Unity为Standard Shader写材质面板一样(你可以在built-in shader包里找到这些文件),但这样有时候太麻烦了.实际上,有一种更简单的方法,不需要写额外的C#文件就可以直接在shader里定义类似bool.enum这种简单的变量,Unity为这些变量提供了内置的材质面板.而这就是通过MaterialPropertyDrawer(当…
写在前面 时隔两个月我终于来更新博客了,之前一直在学东西,做一些项目,感觉没什么可以分享的就一直没写.本来之前打算写云彩渲染或是Compute Shader的,觉得时间比较长所以打算先写个简单的. 今天扫项目的时候看到了很早之前下载的Unity Chan的项目,其实很早之前就想要分析下里面的卡通效果是怎么做的. Unity Chan 想必很多人都看到或听过Unity Chan,也可以说是Unity酱.Unity娘--她数次出现在早期的AR程序中,一个萌娘在现实生活中的一张卡片上跳来跳去的我相信你…
最近在优化摄像机部分代码,抽了个时间对物理投射这块进行了系统性的测试,发现了不少东西 测试工程下载地址: http://files.cnblogs.com/files/hont/RaycastTestProj.rar 测试方式: 在某半径内随机若干Cube,然后以中心点发射各种投射进行测试 使用Unity5.4.1版本,并用Profiler和StopWatch进行测试并截图,比较性能和GC差异 由于胶囊之类的投射实在太慢了,我改用1000次调用进行测试,NonAlloc缓存数组长度为20 一些投…
碰撞器Colliders Unity有两种类型的碰撞体:网格碰撞体(Mesh Colliders)和原始碰撞体(Primitive Colliders). 网格碰撞体组件使用导入的网格数据,可用于环境碰撞. 如果在导入设置中启用了生成碰撞体(Generate Colliders)选项,在网格添 加到场景中时会自动为其添加网格碰撞体.物理系统将网格碰撞体视为固体. 网格碰撞体不能用于会移动的对象(如汽车).在这种情况下,只能使用原始碰 撞体并应禁用生成碰撞体选项.…
关于Unity3D中打AB(AssetBundle)资源包,默认是不连Shader一同打包进去的,所以得自行添加,添加方式比较简单,不需要往项目中添加Shader,只是点选一下就可以了,具体实现方式如下: 在Unity3D 的头部菜单栏下点Edit>Project Settings>Graphics 依次点选后,在Unity3D的右边编辑器Always Included Shaders 下把Size改大一些,比如当前默认是6,则需要添加多少个Shader,就加多少,比如要加三个系统默认的Sha…
在游戏中会经常遇到斜坡地形,比如众所周知的魂斗罗,角色可以在坡上移动和跳跃: 斜坡在2D游戏中很常见,处理起来也较为棘手.最初我打算用分离轴定律来实现,在建立了一个物理模型之后: 发现上坡时没什么问题,但下坡时有比较明显的弹跳,这并不是预期的结果,因为我想让物体“粘”在坡上.产生这个问题的根本原因是物体的运动分为两个阶段, 首先是水平方向的移动,最后是垂直方向的移动: 如果X轴和Y轴的速度没有一定的方式关联起来,就会产生跳跃问题.根据力的平行四边形法则,物体的运行轨迹应该像这样(以向右下坡为例)…
在fbx的Import setting的model选项页中:…
http://blog.csdn.net/chenggong2dm/article/details/41699029…
[Unity]13.3 Realtime GI示例 摘要: 分类:Unity.C#.VS2015 创建日期:2016-04-19 一.简介 使用简单示例而不是使用实际示例的好处是能让你快速理解光照贴图和光影效果相关的概念和基本设置办法,这样可避免实际复杂场景中其他因素的干扰.一旦你熟悉了这些基本用法,在实际场景中依然是这样用. 本例子最终实现的效果如下: 二阅读全文 posted @ 2016-05-19 06:21 rainmj 阅读(319) | 评论 (0) 编辑   [Unity]13.…
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 碰撞组件(Collider) 是另一种必须随刚体 (Rigidbody) 添加的组件,以便允许它和其他组件发生碰撞.或者说,如果仅仅是两个刚体 (Rigidbody) 相互碰撞,则物理引擎不会计算碰撞,除非这两个对象又都附加了碰撞组件 (Collider). 无碰撞组件 (Collider) 的刚体 (Rigidbody) 在物理模拟过程中只会穿过彼此. 二.基本概念 1.添加碰撞体的方法 首先选中一个游戏对象,然后…
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 角色控制器(Character Controller)主要用于对第三人称或第一人称游戏主角的控制.如果要创建类人角色,可使用角色控制器 (Character Controller).这可以是第三人称游戏 (Third Person Platformer) 中的主角色.FPS 射击者或任何敌人角色. 二.基本概念 第三人称游戏中的这些控制器由于无规律可循,所以无法遵守固定的物理规则,例如,让某辆车每小时跑 90 英里,…
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 第三人称视角控制器涉及的相关概念有: 1.刚体(Rigidbody). 2.碰撞体(Collider).包括球体碰撞体(Sphere Collider).箱体碰撞体(Box Collider).网格碰撞体(Mesh Collider).物理材质(Physics Material).铰链关节(Hinge Joint).弹簧关节(Spring Joint)等. Unity内置了 NVIDIA PhysX 物理引擎.要控制…
胶囊碰撞体 (Capsule Collider) 胶囊碰撞体 (Capsule Collider) 由两个半球体与一个圆柱体相连接而构成.它与胶囊 (Capsule) 基元形状相同.   一堆胶囊碰撞体 (Capsule Collider)   属性 属性: 功能: 为触发器 (Is Trigger) 如果启用,此碰撞体 (Collider) 则用于触发事件,会由物理引擎忽略. 材质 (Material) 引用可确定此碰撞体 (Collider) 与其他碰撞体 (Collider) 的交互方式的…
分类:Unity.C#.VS2015 创建日期:2016-04-02 一.简介 预制体(Prefab,也叫预设)是"存储在工程视图(Project View)中"的一种特殊的资源,是一种可重复使用的游戏对象(GameObject)的容器. 如果在Project中有多个预制体(Prefab),为了容易查找,可将这些预制体全部保存到Project视图中Assets文件夹的Prefabs子文件夹下. Prefabs子文件夹下的的所有预制体都可以放入到多个场景中,而且即使在同一个场景中仍然可以…
1.绘制2D图像的时需要使用GL.LoadOrtho()方法来将图形映射到平面中. 2.所有绘制相关的内容都要写在OnPostRender()方法中. 3.有关GL图像库的脚本需要绑定到Hierarchy视图中Camera上,否则无法显示绘制的图像. 4.在GL图像库的平面坐标系中,每个点的横坐标和纵坐标都应当是0与1之间的浮点数,而真实的像素坐标需要根据这个浮点数来计算 一.绘制线 别忘了添加物理材质public Material material; using UnityEngine; us…
Rigidbody: 常用属性: Mass:默认为1,单位并不是g或kg,而是相对的质量计量单位,只决定物体的惯性: Drag:空气阻力: Angular Drag:角阻力,旋转时受的阻力: Use Gravity:是否受重力影响: Is Kinematic:是否使用运动学: Interpolate:插值,内插值,外插值:游戏对象出现抖动时可以尝试使用: Collision Detection:碰撞检测,离散(默认),连续(高速运动的物体建议使用),连续动态(两个物体都是高速运动的物体): Co…
材质(Materials)用来把网格(Mesh)或粒子渲染器(Particle Renderers)贴到游戏对象上.他们在定义对象怎么被显示发挥重要组成部分.材质包括用于呈现网状或颗粒着色器的参考,所以这些组件不能在没有材质的情况下显示.Material这个需要结合Shader来讲,计算机图形学里本身就没有Material这个东西,引擎加入这个其实是在shader和主程序之间搭建了一座桥梁,可以说Material是一个着色器管理器,所以很多接口都是对shader的控制.这里我们先讲Materia…