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 ...
随机推荐
- textarea标签内容为(英文或数字不自动换行)的解决方法
textarea 显示一串英文时不会发生换行. 以下是两种解决方法:1.限制textarea的大小 width 设置为 00px (不要设置为00%)cols 设置为 30+ (也有类似效果) 2. ...
- kafka学习之-java api测试
1.配置 package com.storm.storm_my.kafka; /** * * @author Peng.Li * */ public class KafkaConfigApiConst ...
- jquery获取表单数据方法$.serializeArray()获取不到disabled的值
$.serializeArray()获取不到disabled的值 经实验,$.serializeArray()获取不到disabled的值,如果想要让input元素变为不可用,可以把input设为re ...
- Qt Creater中的.pro文件和.pri文件
初学Qt,使用Qt Creater打开Demo "QT 3D Basic Shapes C++ Example",发现除了pro文件外,还有一个pri文件,在此小白一下! *.pr ...
- svg文字与图像
摘要: svg与canvas一样都可以将文本和图像放在画布中,制作出不一样的效果.下面是如何使用svg来渲染文本与图像. 简介: SVG的强大能力之一是它可以将文本控制到标准HTML页面不可能有的程度 ...
- [Module] 03 - Software Design and Architecture
本篇涉及内容: ORM框架(无需再用contentprovider或者sqlitedatebasehelper之类的古董工具了) 规划各种业务Bean文件(配合ORM框架) 设计一个好的请求基类(Ba ...
- linux定时任务cron配置[转]
实现linux定时任务有:cron.anacron.at等,这里主要介绍cron服务. 名词解释: cron是服务名称,crond是后台进程,crontab则是定制好的计划任务表. 软件包安装: 要使 ...
- eclipse下编译cocos2dx 3.0
先给自己科普一下, android sdk 是给java开发者用的, 咱C++开发者用的是android ndk, 所以就是使用ndk来编译cocos2dx程序了 使用命令行创建一个项目, 我这里创 ...
- scala中list集合的操作与总结
/** * Created by root * Description : List */ object ListTest { def main(args: Array[String]): Unit ...
- redis资料
http://snowolf.iteye.com/blog/1630697 征服redis配置 http://redis.readthedocs.org/en/latest/ redis命令参考 ...