unity3d 学习笔记_____Native2d 刚体、碰撞器、关节的使用

2023-11-13





Mass Mass of the rigidbody.
Linear Drag Drag coefficient affecting positional movement.
Angular Drag Drag coefficient affecting rotational movement.
Gravity Scale Degree to which the object is affected by gravity.
Fixed Angle Can the rigidbody rotate when forces are applied?
Is Kinematic Is the rigidbody moved by forces and collisions?
Interpolate How the object's movement is interpolated between physics updates (useful when motion tends to be jerky).
None No movement smoothing is applied.
Interpolate Movement is smoothed based on the object's positions in previous frames.
Extrapolate Movement is smoothed based on an estimate of its position in the next frame.
Sleeping Mode How the object "sleeps" to save processor time when it is at rest.
Never Sleep Sleeping is disabled.
Start Awake Object is initially awake.
Start Asleep Object is initially asleep but can be woken by collisions.
Collision Detection How collisions with other objects are detected.
Discrete A collision is registered only if the object's collider is in contact with another during a physics update.
Continuous A collision is registered if the object's collider appears to have contacted another between updates.


碰撞器Collider 分为两种:

(1)刚体碰撞

(2) 触发碰撞、会穿透其他刚体

对应Collider组件中的is Trigger,两种都会产生碰撞事件

	void OnCollisionEnter2D(Collision2D cod)
	{
		print (cod.gameObject.name);
		if(cod.rigidbody)
		cod.rigidbody.AddForce(new Vector2(0,500f));
	}


	void OnTriggerEnter2D(Collider2D other)
	{
		Destroy(other.gameObject);
	}

两个方法都属于MonoBehaviour的Message 回调方法,注意区分它们的参数类型是不同的

另外还有 OnTriggerExit2DOnTriggerStay2D、 OnCollisionExit2DOnCollisionStay2D 


关节的使用:



SpringJoint和DistantanceJoint有点类似多了弹性参数和频率设置(在unity中暂时没看出效果)


hingeJoint 可以理解为一个围绕Z轴旋转的关节,可以设置响应moto、以及角度的限制


sliderJoint 滑动关节类似hingeJoint 以一个角度值设置Moto进行滑动,可以对距离(translation)进行限制


下面是一个用HingeJoint做的一个demo:




两只小鸟同时添加HingeJoint 连接到盒子,后面的小鸟加下以下脚本控制方向键盘即可前后运动

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(HingeJoint2D))]
public class MotoControl : MonoBehaviour {

	public float MotoSpeed = 0;
	private JointMotor2D motor;
	HingeJoint2D hj;

	// Use this for initialization
	void Start () {
		hj = GetComponent<HingeJoint2D>();
		motor = hj.motor;
		hj.useMotor = true;
		motor = hj.motor;
		motor.motorSpeed = MotoSpeed;
		motor.maxMotorTorque = 10000;
	}
	
	// Update is called once per frame
	void Update () {
		motor.motorSpeed = Input.GetAxis("Horizontal") * MotoSpeed;
		hj.motor = motor;
	}
}

做Demo时遇到的问题:

(1)刚开始用hj.motor.motorSpeed一直报错,后来分两步写终于没问题
motor = hj.motor;
motor.motorSpeed = MotoSpeed;
(2)错是没了,可是小车还是不走,最后知道还需要把motor对象重新赋给HingeJoint
motor.motorSpeed = Input.GetAxis("Horizontal") * MotoSpeed;
hj.motor = motor;


其他一些常用的属性:

breakForce、breakTorque分别设定多大力、多大扭矩能给丫的拆了

connectedBody 连接的另外一个刚体的引用 (Joint2D中不存在)

hj.connectedBody = null;连接到一个空对象上

要想断开关节直接去掉关节组件 destroy(hj);

断开将发送 OnJointBreak Message.



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unity3d 学习笔记_____Native2d 刚体、碰撞器、关节的使用 的相关文章

  • Unity3D C#数学系列之点积

    文章目录 1 定义 2 几何意义 3 向量a 向量b xaxb yayb zazb 4 应用案例 4 1 求两向量的夹角 4 2 判断两向量是否垂直 4 3 判断NPC是否在攻击范围内 4 4 已知入射光线和表面法线求反射光线 5 项目 1
  • Unity的C#编程教程_59_字典 Dictionary 详解及应用练习

    文章目录 C Dictionary Introduction C Dictionary Looping through Dictionary C Dictionary When to Use C Dictionary Using Dicti
  • Unity UGUI的RawImage(原始图片)组件的介绍及使用

    Unity UGUI的RawImage 原始图片 组件的介绍及使用 1 什么是RawImage组件 RawImage是Unity UGUI中的一个组件 用于显示原始图片 与Image组件不同 RawImage可以直接显示原始图片的像素数据
  • Animator之RootMotion

    Unity3D 中 Generic 动画导入设置和 Root Motion 之间的关系 Unity3D 的 Mecanim 动画系统可以直接复用 3DS MAX 中制作的动画文件中的位移 这个就是通过 applyRootMotion 来达成
  • Unity3d 简单的按照路径移动物体!

    在TORQUE引擎中 我们只要设置几个点 然后物体会按照这几个点顺序移动 Unity3d也可以的 现在介绍一个很简单的按照路径移动的方法 目标是让蓝色方块沿着紫色方块组成的路径移动 设计思想就是让蓝色方块移动第一个 然后继续移动到第二个 然
  • Unity3D中通过代码修改子物体层级的顺序

    今天有个同事问我如何在程序中修改子物体的层级关系来改变遮挡关系 我给他敲出来一句代码 UI的层级关系是通过渲染表现出来的 在canvas下的物体 排序越靠前的越先被渲染 这样一来就会 被后来渲染的遮挡 总结一下有三句代码是修改子物体的层级的
  • Unity_场景之间的跳转

    跳转场景之前 需要在 File gt Build Settings gt Add Open Scenes 或者 直接把 场景 拖拽进来 跳转场景方法1 已过时 跳转场景方法 public void OnStartGame string Sc
  • Unity3D 碰撞器和触发器

    对于碰撞器和触发器经常忘记用法 这次主要记录下以便于能够复习用 1 碰撞器 发生条件 1 碰撞的双方中一定至少要有一个Rigidbody存在 并且碰撞双方必须都要有碰撞体组件 2 碰撞双方若只有一个有刚体 那么那个刚体一定要处于运动的状态下
  • HLSL 偏导数 ddx / ddy

    HLSL ddx ddy 在光栅化的时刻 GPUs会在同一时刻并行运行很多Fragment Shader 但是并不是一个pixel一个pixel去执行的 而是将其组织在2x2的一组pixels分块中 去并行执行 偏导数就正好是计算的这一块像
  • 也想做一个绝地求生版的汽车控制移动,进来瞧瞧?(干货满满)

    控制车子移动 效果图附上 1 首先4个车轮复制一遍为车轮2备用 2 给车轮2全部添加wheel collider 只剩下车轮碰撞器和transform组件 3 给原版4个车轮添加脚本wheel 变量共有 面板赋值 依次添加车轮2里面的车轮c
  • Unity3D【脚本】 按键盘Esc弹出退出面板 确定退出游戏 取消关闭面板

    按键盘Esc弹出退出面板 确定退出游戏 取消关闭面板 效果图 脚本 using UnityEngine using System Collections public class Exit MonoBehaviour public Game
  • unity3d 输入法相关API

    Input inputString 获取输入的文字 正在打的中文是接受不到的 只有在文字写到文本框才能获取 Input imeCompositionMode 是否是激活输入框状态 on 是 Input compositionString 空
  • Unity动画系统详解5:BlendTree混合树是什么?

    摘要 Animator中有一个功能 用来解决多个动画之间的混合 经常用于移动动画之间的混合 这个功能叫做BlendTree 混合树 洪流学堂 让你快人几步 你好 我是跟着大智学Unity的萌新 我叫小新 这几周一起来复 yu 习 xi 动画
  • unity粒子特效附上贴图后播放动画

    转自 http jingyan baidu com article f96699bbb1a0d6894f3c1b77 html 参考 http www unitymanual com thread 2993 1 1 html dsign a
  • Unity3D 官方文档 平台特殊化之Standalone和多显示器的处理

    版本 unity 5 6 语言 C 总起 Standalone 我一眼看下去的理解就是PC机平台 官方文档中说该平台指的是Mac Windows和Linux 这篇文章主要讲的是Standalone平台下的设置 通过点击菜单栏的File gt
  • Unity3D之Rigidbody

    目录 常用的Rigidbody属性和方法 rigidbody AddForce rigidbody AddTorque rigidbody velocity rigidbody angularVelocity rigidbody Sleep
  • Unity3D:按键生成物件,Instantia…

    在按下按键之后 可以在画面中生成之前定义好了的物体 这里使用了Instantiate函数来生成 1 先在游戏中定一个空物件GameObject 创建空物件快捷键 ctrl shift n 2 在视图中放置 3 编写脚本 脚本 SpaceCh
  • java中Keytool的使用总结

    java中Keytool的使用总结 2011 02 26 15 30 15 分类 在申请Android Map API Key的时候使用到了java中Keytool 下面转一篇介绍java中Keytool的文章 http blog csdn
  • Unity3D的四种坐标系

    1 World Space 世界坐标 我们在场景中添加物体 如 Cube 他们都是以世界坐标显示在场景中的 transform position可以获得该位置坐标 2 Screen Space 屏幕坐标 以像素来定义的 以屏幕的左下角为 0
  • Unity在UI界面上显示3D模型/物体,控制模型旋转

    https blog csdn net ChinarCSDN article details 81058773

随机推荐

  • GDAL根据Shape文件切图(java)

    目地 用Java实现类似QGIS中 按掩膜图层裁剪栅格 的功能 其实QGIS本身调用的就是gdalwarp exe 官方文档 https gdal org programs gdalwarp html gdalwarp gdalwarp h
  • js == 运算规则解析

    1 先了解一下基本类型和复杂类型划分的依据 JS中的值有两种类型 原始类型 Primitive 对象类型 Object 原始类型包括 Undefined Null Boolean Number和String等五种 这两大类别的数据存储方式是
  • 启明智显分享

    提示 作为Espressif 乐鑫科技 大中华区合作伙伴及sigmastar 厦门星宸 VAD合作伙伴 启明智显不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考 同时也用心整理了乐鑫及星宸科技的新产品 新方
  • 软文营销研究目标关键词让内容简单明了

    随着行业的发展 许多企业正在进入文案领域 对于喜欢写作的人来说 这是一条很好的道路 但对某些人来说也可能具有挑战性 一些初学者可能会觉得自己没有写作能力达不到标准 因此本文178软文网小编将帮你决定并学习如何成写出一篇成功有效的文案 一 向
  • yolov3整体工作流程(个人理解,欢迎纠正和补充)

    以下内容纯属个人理解 请路过的小伙伴留下宝贵意见 欢迎纠正和补充 谢谢 yolov3的总体思想归纳 首先 将输入图片压缩到416 416 通过特征提取网络 Darknet53 without FC layer 对输入图像提取特征得到大小一定
  • ubuntu下设置网络

    修改文件 etc network interfaces 命令 sudo vi etc network interfaces 或 sudo gedit etc network interfaces 我的配置如下 interfaces 5 fi
  • QT的信号槽的四种写法和五种链接方式

    目录 四种信号槽写法 五种连接方式 实例 常见错误及改正 错误1 未连接信号与槽 错误2 信号和槽参数不匹配 错误3 未使用Q OBJECT宏 错误4 跨线程连接未处理 在Qt中 信号 Signal 和槽 Slot 是一种用于对象之间通信的
  • 对于搞钱我们是认真的

    前言 大家好 我是xiezhr 一提到搞钱 想必大家都非常非常感兴趣 立马就精神抖擞了 说实话 在这疫情爆发这几年里 赚点钱真不容易 不知道你是不是也跟我一样 一个人在夜深人静的时候就在想怎么才能通过自己程序员的身份来搞钱呢 今天 我们就来
  • 基于JAVA的图书馆书库管理系统

    源码下载 https wwa lanzous com iMbYtmlznri 更多源码 http byamd xyz 论文
  • 数学建模课程

    数学规划模型 2020 3 7 1 数学规划 简称最优化问题 2 最优化问题的数学模式的一般形式 三个要素 决策变量 目标函数 约束条件 所确定的x的范围为 可行域 满足 2 的解 可行解 同时满足 1 2 最优解 整个可行域上 全局最优解
  • TensorFlow2.x,GPU代码测试

    TensorFlow2 x GPU代码测试 代码如下 import tensorflow as tf import os os environ TF CPP MIN LOG LEVEL 2 不显示等级2以下的提示信息 print GPU t
  • 测试开发工程师需要掌握什么技能?

    如何理解测试开发 有人问测试开发是测试还是开发 本质上来说 还是测试 因为测试是核心 开发是手段 那么说 成为测试开发 需要那些必备的技能呢 不同level的测试工程师应具备的基本技能第一个 我们称之为测试员 测试工程师 直白一点说 就是干
  • pandas学习笔记(三)---重建索引与处理缺失值

    本文介绍pandas中重建索引与处理缺失值 文章目录 一 重建索引 1 1series重建索引 1 2 dataframe重建索引并修改缺失值 二 处理缺失值 2 1丢掉含有缺失值的行或者列 2 2 填充缺失值 2 3判断df中每个元素是否
  • QT设置背景图片的3种方式 & 区别——设置样式表styleSheet

    方式1 修改MainWindow主窗口 的 styleSheet 1 效果图 工具栏和状态栏 也加了背景 参考链接https blog csdn net mozai147 article details 84112744 2 选中编辑Mai
  • Angular学习笔记69:Angular项目的单元测试 -- 对服务进行测试

    对服务进行测试 服务通常是单元测试中最简单的文件类型 对于简单 没有其他依赖的服务 对于一个没有其他依赖的服务 Mock 一些数据 进行测试即可 例如 对于一个公共数据处理的服务 import Injectable from angular
  • mysql——锁

    三种锁问题 1 丢失修改 火车票问题 让第一个人丢失了修改 2 不可重复读 幻象 第二次读会读到不正确的数据 一个事务读到另一个已提交的事务 3 读 脏 数据 A修改值后又回滚 B读到修改后的值 即脏数据 或者是一个事务读到了另一个事务未提
  • office版本比较

    office LTSC 2021 专业增强版就是简化版的永久版的OFFICE 365罢了 建议还是装365划算 装的什么版本无所谓 激活的时候用的什么许可证才是决定你使用时版本的最终因素 比如装的 office 2021 最后用的2016的
  • ibm多服务器共用显示模块连接,IBM WebSphere 应用服务器多个模块跨站脚本漏洞

    IBM WebSphere 应用服务器多个模块跨站脚本漏洞 受影响系统 IBM Websphere Application Server 7 0 IBM Websphere Application Server 6 1 不受影响系统 IBM
  • 百度地图API取消点击景点弹出框

    有时候我们自己在地图上添加的标注会跟百度地图上面的景点商家标注重合 点击的时候就会弹出景点弹窗 就像这样 我们正常在创建地图的时候都是 var map new BMap Map allmap 创建Map实例 想要禁用百度地图景点弹窗需要添加
  • unity3d 学习笔记_____Native2d 刚体、碰撞器、关节的使用

    Mass Mass of the rigidbody Linear Drag Drag coefficient affecting positional movement Angular Drag Drag coefficient affe