Unity Rigidbody组件
Unity 学习笔记汇总
Rigidbody官方API使用文档
文章目录
- 1. 碰撞器1
- 1.1. 前台
- 1.2. 代码
- 1.3. 结果
- 2. 碰撞器2
- 3. 碰撞器3
- 3.1. 前台
- 3.2. 代码
- 3.3. 结果
1. 碰撞器1
1.1. 前台
- 创建
GameObject\3D Object\Cube
、GameObject\3D Object\Sphere
、GameObject\3D Object\Plane
- 给
Cube
和Sphere
添加Component\Physics\Rigidbody
- 将C#脚本挂载到
Cube
上
1.2. 代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class NewBehaviourScript : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}void OnCollisionEnter(Collision collision){Debug.Log("检测到了碰撞");}void OnCollisionStay(Collision collision){Debug.Log("碰撞停留");}void OnCollisionExit(Collision collision){Debug.Log("碰撞结束");}
}
1.3. 结果
在控制台上会实时输出碰撞状态。
2. 碰撞器2
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class NewBehaviourScript : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}void OnCollisionEnter(Collision collision){Debug.Log("检测到了碰撞");//collision: 指的是身上没有该函数脚本的那个物体Debug.Log(collision.gameObject.name);Destroy(collision.gameObject); //销毁的是未挂载当前脚本的物体Destroy(gameObject); //销毁的是挂载当前脚本的物体}void OnCollisionStay(Collision collision){//Debug.Log("碰撞停留");}void OnCollisionExit(Collision collision){Debug.Log("碰撞结束");}
}
3. 碰撞器3
3.1. 前台
创建一个Capsule的预制体,并与脚本中的变量进行绑定
3.2. 代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class NewBehaviourScript : MonoBehaviour
{public GameObject contractPrefab;GameObject clone;// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}void OnCollisionEnter(Collision collision){//Debug.Log("检测到了碰撞");collision: 指的是身上没有该函数脚本的那个物体//Debug.Log(collision.gameObject.name);//Destroy(collision.gameObject); //销毁的是未挂载当前脚本的物体//Destroy(gameObject); //销毁的是挂载当前脚本的物体ContactPoint[] points = collision.contacts;if (clone == null){clone = Instantiate(contractPrefab, points[0].point,contractPrefab.transform.rotation) as GameObject;}else{Destroy(clone.gameObject, 0.5f);//clone = Instantiate(contractPrefab, points[0].point,// contractPrefab.transform.rotation) as GameObject;}}void OnCollisionStay(Collision collision){//Debug.Log("碰撞停留");}void OnCollisionExit(Collision collision){Debug.Log("碰撞结束");}
}
3.3. 结果
Sphere发生碰撞后,会生成一个Capsule的预制体
Unity Rigidbody组件相关推荐
- 【Unity 3D 从入门到实战】Unity 3D 组件总结
目录 一,前言 二,常用组件 1,Transform 组件 2,Mesh Filter 组件 3,Box Collider 组件 4,Rigidbody 组件 5,脚本组件 三,总结 一,前言 组件是 ...
- Unity 常用组件使用总结
Unity 常用组件使用总结 一.摄像机 Camera: 1.Clear Flag 清除标志:决定屏幕的那部分将被清除.当使用多个相机来描绘不同的游戏景象时,利用它是非常方便的. 2.Back gro ...
- Collider组件与Rigidbody组件杂谈
先抛出问题: Rigidbody组件是什么?有什么用? Collider组件是什么?有什么用? 怎么实现碰撞事件? 怎么实现触发事件? 怎么又实现触发事件又实现碰撞事件? Rigidbody组件: 简 ...
- 关于Unity VideoPlayer组件 视频切换第一帧卡顿
关于Unity VideoPlay组件 视频切换第一帧卡顿的问题 1.问题: 在做项目时,发现VideoPlayer组件在多个视频切换时,会在第一帧重复上个视频的结束时的画面. 2.原因: 因为Vid ...
- Unity3D课程系列上线--《unity 常用组件分析》
本人录制的Unity3D系列课程上线了,这是第一套 <unity 常用组件分析> http://www.maiziedu.com/course/others/540-7381/
- 关于Unity中Rigidbody组件的各个变量的含义
刚体能让你的游戏对象被物理引擎所控制,它能通过受到推力和扭力来实现真实的物理表现效果.所有游戏对象必须包含刚体组件来实现重力.通过脚本施加力.或者与其他对象进行交互,这一切都通过NVIDIA的Phys ...
- Unity让带有Rigidbody组件的游戏对象停止运动
代码如下: [SerializeField] private GameObjecct m_Soccer;m_Soccer.GetComponent<Rigidbody>().constra ...
- 学习笔记——使用Unity Network组件开发联机游戏
文章目录 前言 一.创建玩家预制体 二.使用Network组件 总结 前言 使用unity中的Network组件开发一个简单的多人在线游戏 unity版本:2018.4.16 一.创建玩家预制体 1. ...
- Unity* 实体组件系统 (ECS)、C# 作业系统和突发编译器入门
Unity* 中的全新 C# 作业系统和实体组件系统不仅可以让您轻松利用以前未使用的 CPU 资源,还可以帮助您更高效地运行所有游戏代码.然后,您可以使用这些额外的 CPU 资源来添加更多场景动态和沉 ...
最新文章
- 基于Android平台扫码识别并链接服务器demo
- javascript自定义cookie
- 使用netstat检测及监测网络连接
- Histogram of Oriented Gridients(HOG) 方向梯度直方图
- 测试分析设计工程方法
- MT6573驱动开发日志之touchpanel .
- Dubbo服务暴露原理
- Fabricjs一个简单强大的Canvas绘图库快速入门
- 7.定义一个有80个元素的字符数组,从键盘输入一串字符,将其中的大写字母转换为小写字母,而将原来为小写的字母转换为大写字母,其他字符不变。
- java 生成二维码,并跟其他图合成新图 图片添加水印
- invalid signature什么意思_function是什么意思?
- java File类入门学习
- C++程序设计一(进制转换)
- Android心电数据分析,基于Android的心电信号分析系统研究
- Golang环境变量设置(二)--GOMODULEGOPROXY
- [转]jackson json字符串、map、java对象的转换例子
- python代码怎么写(一)
- 中国国际货代行业市场运营规划及发展潜力研究报告2022年版
- oracle 修改 dbid,Oracle 在使用NID更改DBID时ORA-01122 ORA-01110 ORA-01206
- 如何快速提高英语听力水平|学习心得+听写经验,附进入英文新闻殿堂的垫脚石