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\CubeGameObject\3D Object\SphereGameObject\3D Object\Plane
  • CubeSphere添加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组件相关推荐

  1. 【Unity 3D 从入门到实战】Unity 3D 组件总结

    目录 一,前言 二,常用组件 1,Transform 组件 2,Mesh Filter 组件 3,Box Collider 组件 4,Rigidbody 组件 5,脚本组件 三,总结 一,前言 组件是 ...

  2. Unity 常用组件使用总结

    Unity 常用组件使用总结 一.摄像机 Camera: 1.Clear Flag 清除标志:决定屏幕的那部分将被清除.当使用多个相机来描绘不同的游戏景象时,利用它是非常方便的. 2.Back gro ...

  3. Collider组件与Rigidbody组件杂谈

    先抛出问题: Rigidbody组件是什么?有什么用? Collider组件是什么?有什么用? 怎么实现碰撞事件? 怎么实现触发事件? 怎么又实现触发事件又实现碰撞事件? Rigidbody组件: 简 ...

  4. 关于Unity VideoPlayer组件 视频切换第一帧卡顿

    关于Unity VideoPlay组件 视频切换第一帧卡顿的问题 1.问题: 在做项目时,发现VideoPlayer组件在多个视频切换时,会在第一帧重复上个视频的结束时的画面. 2.原因: 因为Vid ...

  5. Unity3D课程系列上线--《unity 常用组件分析》

    本人录制的Unity3D系列课程上线了,这是第一套 <unity 常用组件分析> http://www.maiziedu.com/course/others/540-7381/

  6. 关于Unity中Rigidbody组件的各个变量的含义

    刚体能让你的游戏对象被物理引擎所控制,它能通过受到推力和扭力来实现真实的物理表现效果.所有游戏对象必须包含刚体组件来实现重力.通过脚本施加力.或者与其他对象进行交互,这一切都通过NVIDIA的Phys ...

  7. Unity让带有Rigidbody组件的游戏对象停止运动

    代码如下: [SerializeField] private GameObjecct m_Soccer;m_Soccer.GetComponent<Rigidbody>().constra ...

  8. 学习笔记——使用Unity Network组件开发联机游戏

    文章目录 前言 一.创建玩家预制体 二.使用Network组件 总结 前言 使用unity中的Network组件开发一个简单的多人在线游戏 unity版本:2018.4.16 一.创建玩家预制体 1. ...

  9. Unity* 实体组件系统 (ECS)、C# 作业系统和突发编译器入门

    Unity* 中的全新 C# 作业系统和实体组件系统不仅可以让您轻松利用以前未使用的 CPU 资源,还可以帮助您更高效地运行所有游戏代码.然后,您可以使用这些额外的 CPU 资源来添加更多场景动态和沉 ...

最新文章

  1. 基于Android平台扫码识别并链接服务器demo
  2. javascript自定义cookie
  3. 使用netstat检测及监测网络连接
  4. Histogram of Oriented Gridients(HOG) 方向梯度直方图
  5. 测试分析设计工程方法
  6. MT6573驱动开发日志之touchpanel .
  7. Dubbo服务暴露原理
  8. Fabricjs一个简单强大的Canvas绘图库快速入门
  9. 7.定义一个有80个元素的字符数组,从键盘输入一串字符,将其中的大写字母转换为小写字母,而将原来为小写的字母转换为大写字母,其他字符不变。
  10. java 生成二维码,并跟其他图合成新图 图片添加水印
  11. invalid signature什么意思_function是什么意思?
  12. java File类入门学习
  13. C++程序设计一(进制转换)
  14. Android心电数据分析,基于Android的心电信号分析系统研究
  15. Golang环境变量设置(二)--GOMODULEGOPROXY
  16. [转]jackson json字符串、map、java对象的转换例子
  17. python代码怎么写(一)
  18. 中国国际货代行业市场运营规划及发展潜力研究报告2022年版
  19. oracle 修改 dbid,Oracle 在使用NID更改DBID时ORA-01122 ORA-01110 ORA-01206
  20. 如何快速提高英语听力水平|学习心得+听写经验,附进入英文新闻殿堂的垫脚石

热门文章

  1. 比较全的深度学习数据预处理方法
  2. 4. 邵婷 区联片教研展示课五年级上册《数学广角--植树问题(两端都栽)》照片
  3. 外观设计专利侵权怎么认定
  4. 【模拟】阿里郎(arilang)
  5. 弹性布局的应用-淘宝商品展示模块
  6. 如何利用miniDP转DP线实现MacBook air投屏镜像
  7. Linux - SquashFS文件系统
  8. 老子的软件之道 - 道篇 5 企业管理
  9. 读书笔记之《高质量的C-C++编程》第五章节: #define 与 const 的定义常量
  10. conda 安装虚拟环境失败