Unity3D笔记 英保通八 关节、 布料、粒子系统
一、关节
1.1、、链条关节 Hinge joint :他可以模拟两个物体间用一根链条连接在一起的情况,能保持两个物体在一个固定距离内部相互移动而不产生作用力,但是达到固定距离后就会产生拉力
1.2、、固定关节:fixed joint;可以把两个刚体连接起来,使其中一个刚体随另一个刚体一起运动,从而达到一个整体效果。
1.2.1、作为一个整体
1.2.2、有断开的效果Break Force 和扭曲力Break Torque
1.3、弹簧关节Spring Joint:模拟两个物体间有一根弹簧,大于或者小于固定位置的时候产生相对的弹力,根据弹性系数距离偏移越大作用力越大。
1.4、角色关节 Character Joint :本质上是一个球型关节,可以使刚体绕关节进行旋转,常用于角色的肢体上,来形成角色的动力学效果。
模拟人体骨头间的关节连接,就是两个物体能根据一个关键点自由的朝一个方向旋转,但固定在一个相对距离,而且可以设置关节的限制。可以用在蒙皮骨骼模型上做活动关节,这样就可以做到很多游戏引擎里那种各种自由姿势的死法了。
黄色:x轴、绿色:有轴 还有一个隐藏的z轴
1.5、 可配置关节 Configurable Joint :万能连接方式,通过配置非常多的参数和限制,你可以做到能想到的任何物体与物体间的连接方式,包括上面所有的,当然配置起来比较复杂。
二、布料
2.1、交互式布料Interactive cloth:与场景中刚体进行交互,可以模拟桌面等。一般会与Close Renderer使用进行渲染。
2.1、皮肤布料:通过拉伸角色上的顶点来形成布料,常用于模拟角色身上的衣服布料,但不可以与碰撞器刚体发生交互反应。
总结:一般来说角色身体上的衣服的布料效果是通过材质贴图来实现的,untiy用自带的布料的话非常消耗资源的。
三、粒子系统
粒子系统:可以模拟烟雾、水气、火花等
1、可以直接创建粒子系统:但实际上是添加的物体是一个空物体。在层次视图上创建或者GameObject-Create Other-Particle System
2、可以先创建一个物体比如Cube选中,单击Component-Effects-Particle System 以组件的方式添加粒子系统。
3.2、粒子系统扩展属性:
Unity3D笔记 英保通八 关节、 布料、粒子系统的更多相关文章
- Unity3D笔记 英保通七 物理引擎
给球体添加刚体RigidBody和球体碰撞器Sphere Collider 效果: OnTriggerEnter() 代码 using UnityEngine; using System.Collec ...
- Unity3D笔记 英保通一
一.材质和着色器 1.材质和着色器紧密的联系,其中材质相当于是一个框架,而着色器就是框架中中的内容.在材质框架中可以选择不同的Shader并调节不同的 属性 Material和Physic Mater ...
- Unity3D笔记 英保通十 射线碰撞器检测
射线碰撞检测可以用来检测方向和距离: 通过Physics.RayCast光线投射来实现:常用于射击利用发射的射线来判断.还有对战中刀剑交战中.. 一.要涉及到RayCast和RayCastHit 1. ...
- Unity3D笔记 英保通九 创建数
Unity中创建树:可以直接通过程序自动来创建树木还可以手动创建树木(本质上在我看来就是给程序自动创建的树动动”小手术“) 一.程序自动创建树木 3.1.层次视图中创建:一个平行光.摄像机.地.数并且 ...
- Unity3D笔记 英保通六 角色控制器
一.角色控制器 U3D有两种角色控制方式:Rigidbody刚体.角色控制器组件(胶囊体组件) 面试的题目中经常会遇到这个问题: CharacterController和Rigidbody的区别? 这 ...
- Unity3D笔记 英保通五 鼠标事件与GUI系统双击检测
一.如何使用GUI事件来检测鼠标是否按下的事件: 获取当前事件:var e:Event=Event.current: using UnityEngine; using System.Collectio ...
- Unity3D笔记 英保通四 虚拟轴应用及键盘事件
Input: 1.使用这个类能够读取输入管理器设置的按键,以及访问移动设备的多点触控或加速感应数据.想要读取轴向使用Input.GetAxis方法获取下列默认轴: "Horizontal&q ...
- Unity3D笔记 英保通三 脚本编写 、物体间通信
一.脚本编写 1.1.同一类型的方法JS和C#的书写方式却不一样主要还是语法,在工程中创建一个Cube 分别把JSTest.js和CSharp.cs 添加到Cube中 JSTest.js #pragm ...
- Unity3D笔记 英保通二
一.访问另一个物体 1.代码中定义一个public的物体 例如:var target:Transform; 在面板上直接拖拽一个物体赋值给target 2.通过GameObject.Find(&quo ...
随机推荐
- 为tomcat指定JDK版本
可以为tomcat指定JDK. 当系统中安装有多个版本的jdk时,可以为tomcat指定jdk版本. 在catalina.sh文件和setclasspath.sh文件开头的空白处加上如下一行: exp ...
- vue、vuex、iview、vue-router报错集锦与爬坑记录
1.vue报错: 没安装 less-loader css-loader style-loader 可能的很大原因:没安装less 2.vuex报错:Computed property &qu ...
- Jenkins入门知识
1 修改jenkins的根目录,默认地在C:\Documents and Settings\AAA\.jenkins . .jenkins ├─jobs│ └─JavaHelloWorld│ ...
- 怎么使用ABBYY中的Bates编号
ABBYY PDF Transformer+ 可让您将 Bates 编号添加到 PDF 文档.Bates 编号可方便文档搜索和检索,并更加有利于电子归档.下面小编给小伙伴们讲讲ABBYY PDF Tr ...
- Docker安装指南
Ubuntu 14.04 16.04 (使用apt-get进行安装) # step 1: 安装必要的一些系统工具 sudo apt-get -y update sudo apt-get -y inst ...
- mysql中,创建表的时候指定if not exists参数的作用?
需求说明: 在创建表的时候,如果指定if not exists语句,有什么作用,在此做个实验,并且官方手册, 理解下这个参数的作用. 操作过程: 1.创建测试表test01 mysql> cre ...
- logback -- 配置详解 -- 二 -- <appender>
附: logback.xml实例 logback -- 配置详解 -- 一 -- <configuration>及子节点 logback -- 配置详解 -- 二 -- <appen ...
- 一张图了解SSH端口转发
ssh和端口转发什么的,我就不想废话了,主要是ssh的命令格式真心不太好理解.网上也搜过相关文章,参差不齐.其实自己也理解怎么用,但我自己也表达不好.这几日无意碰到篇好文章,有图有真相,清楚的很,还有 ...
- {"errorCode":50} 的解决办法
# 无反爬 import urllib.parse import urllib.request import json content = input('请输入需要翻译的词语:') # url = ' ...
- 【安全开发】IOS安全编码规范
申明:本文非笔者原创,原文转载自:https://github.com/SecurityPaper/SecurityPaper-web/blob/master/_posts/2.SDL%E8%A7%8 ...