unity关节(joint)讲解
关节
关节组件可以添加至多个游戏对象中,而添加关节的游戏对象将通过关节连接在一起并且感觉连带的物理效果。需要注意的是:关节必须依赖于刚体组件。
关节介绍
关节一共分为5大类:链条关节,固定关节,弹簧关节,角色关节和可配置关节。
链条关节(hinge joint):将两个物体以链条的形式绑在一起,当力量大于链条的固定力矩时,两个物体就会产生相互的拉力。
固定关节(fixed joint):将两个物体永远以相对的位置固定在一起,即使发生物理改变,它们之间的相对位置也将不变。
弹簧关节(spring joint):将两个物体以弹簧的形式绑定在一起,挤压它们会得到向外的力,拉伸它们将得到向里的力。
角色关节(character joint):可以模拟角色的骨骼关节。
可配置关节(configurable joint):可以模拟任意关节的效果。
关节是一个游戏组件,在导航菜单栏中选择component——physics然后从中选择一种关节组件,即可完成关节组件的添加。
使用breakforce可设置关节断裂的力,一旦力超过它,关节将会断裂。断裂时,通过onjointbreakforce方法可监听相关事件。
下面给个实例:
using UnityEngine;
using System.Collections;public class Script_06_10 : MonoBehaviour
{
//链接关节游戏对象
GameObject connectedObj = null;
//当前链接的关节组件
Component jointComponent = null;void Start()
{ //获得链接关节的游戏对象connectedObj = GameObject.Find("Cube1");
}void OnGUI()
{if(GUILayout.Button("添加链条关节")){ResetJoint();jointComponent = gameObject.AddComponent("HingeJoint");HingeJoint hjoint = (HingeJoint)jointComponent;connectedObj.rigidbody.useGravity = true;hjoint.connectedBody = connectedObj.rigidbody;}if(GUILayout.Button("添加固定关节")){ResetJoint();jointComponent =gameObject.AddComponent("FixedJoint");FixedJoint fjoint = (FixedJoint)jointComponent;connectedObj.rigidbody.useGravity = true;fjoint.connectedBody = connectedObj.rigidbody;}if(GUILayout.Button("添加弹簧关节")){ResetJoint();jointComponent =gameObject.AddComponent("SpringJoint");SpringJoint sjoint = (SpringJoint)jointComponent;connectedObj.rigidbody.useGravity = true;sjoint.connectedBody = connectedObj.rigidbody;}if(GUILayout.Button("添加角色关节")){ResetJoint();jointComponent =gameObject.AddComponent("CharacterJoint");CharacterJoint cjoint = (CharacterJoint)jointComponent;connectedObj.rigidbody.useGravity = true;cjoint.connectedBody = connectedObj.rigidbody;}if(GUILayout.Button("添加可配置关节")){ResetJoint();jointComponent =gameObject.AddComponent("ConfigurableJoint");ConfigurableJoint cojoint = (ConfigurableJoint)jointComponent;connectedObj.rigidbody.useGravity = true;cojoint.connectedBody = connectedObj.rigidbody;}
}//重置关节
void ResetJoint(){//销毁之前添加的关节组件Destroy (jointComponent);//重置对象位置this.transform.position = new Vector3(821.0f,72.0f,660.0f);connectedObj.gameObject.transform.position = new Vector3(805.0f,48.0f,660.0f);//不敢应重力connectedObj.rigidbody.useGravity = false;
}
}
unity关节(joint)讲解相关推荐
- Unity T4M 中文讲解
http://blog.csdn.net/tianmao111/article/details/46482963 现在在u3d圈里流行了一种地形转换器(或者叫编辑器吧),但是经查阅之后,似乎还没有中文 ...
- 【原创】Unity T4M 中文讲解
现在在u3d圈里流行了一种地形转换器(或者叫编辑器吧),但是经查阅之后,似乎还没有中文教程,又看到网上不少人在求中文教程,正巧公司内部也需要研究这块,所以我想顺便做一个尝试,顺便写个中文教程吧,英文不 ...
- 超级详细的膝盖关节结构讲解
https://m.wang1314.com/doc/webapp/topic/20873397.html 膝关节的表面组成: (1)软骨:如半月板,灵活运动不会疼痛. (2)韧带:将关节的骨端连接在 ...
- Unity通俗易懂的讲解PPU(Pixel Per Unit)与Camera Size
目录 前言 Unity的一个单位 Camera Size Pixel Per Unit的具体含义 前言 unity 2d中的sprite ,具有一个参数:Pixel Per Unit 初学者往往不知道 ...
- 【Unity】11.2 刚体(Rigidbody)
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 Rigidbody(刚体)组件可使游戏对象在物理系统的控制下来运动,刚体可接受外力与扭矩力,使游戏对象像在真实世界中那样 ...
- Unity基础学习路线
Unity基础 C#程序设计 第001课初识unity 第002课初始unity场景树_渲染体系_物理体系 第003课初识Unity C#的基本结构_类_成员_类的函数 第004课Unity ...
- Unity 3D 中的专业“术语表”。
这是unity手册中的内容.具体可以参考此链接:Unity 用户手册 (2019.4 LTS) - Unity 手册 目录 2D 术语 2D 物理术语 AI 术语 Analytics 术语 动画术语 ...
- 【Unity】Unity学习笔记目录整理
概述及周边 [Unity]Unity 基本介绍 [Unity]Unity 相关知识分类 [Unity]Unity 特殊文件夹[未完成] [Unity]Unity 常用插件 基础知识 [Unity]Un ...
- Cocos2d-X Box2D内容讲解
一.box2d基础知识 1.关于 Box2D 是一个用于游戏的 2D 刚体仿真库.从游戏的视角来看,物理引擎就是一个程序性动画(procedural animation)的系统,而不是由动画师去移动你 ...
最新文章
- 【js】内置对象array的常见方法的使用
- Linux下Poppler源码编译安装
- ADempiere 360LTS 地址(Address)的中国格式定制
- C++(STL):26 ---关联式容器set用法
- window连接不上ssdb的问题
- QEBA:基于类边界查询访问的黑盒攻击
- 你应该知道的 CSS 基础知识
- k8s中各组件和kube apiserver通信时的认证和鉴权
- linux下删除带特殊符号的文件
- CAD贱人工具箱插件免费下载
- 网络基础:动态路由OSPF配置
- ESXI 带网卡realtek驱动下载
- React hook必须要知道的知识: useEffect的cleanup
- 毕业就业之 -【湖北集中选调】
- Win7无法修改MAC怎么办 不能修改MAC的原因及解决方法
- 求三个数的最小公倍数的解法之美
- FPGA-篮球计分计时器的设计
- 【Python】爬取理想论坛单帖爬虫
- P1423 小玉在游泳 NOIP python题解
- Swift 周报 第九期
热门文章
- java 开发web页面跳转,javaweb页面跳转
- 网站服务器被传lpk.dll怎么办
- BitComet(比特彗星)2016官方版
- ictclas4j java_ictclas4j 中科院中文分词系统完成的java源码,能很好的实现 的 ,为文本挖掘提供基础。 Develop 238万源代码下载- www.pudn.com...
- CSS 列表和表格 (3)
- revit机电建模丨如何用Revit创建幕墙造型
- python自动发微信新闻网_用python自制微信机器人,定时发送天气预报
- termux怎么安装python_Android Termux 安装 Linux 就是这么简单
- 提取dsm中的高程数据(无人机影像/卫片?),坡度图
- 宝塔使用FTP无法链接的问题解决办法