碰撞后立即停止刚体运动/旋转

2024-01-14

我希望我的球体从一个位置跳到另一个位置,但不希望它随后平移。我不知道该怎么做。这是我的代码:

void Update()
{
    if (!thrown && ((Input.touchCount > 0 
    && Input.GetTouch(0).phase == TouchPhase.Ended) 
    || Input.GetMouseButtonDown(0)))
    {
        rb.isKinematic = false;
        rb.AddForce(new Vector3(0.0f, 15.0f, 5.0f) );
        thrown = true;
    }
}

有很多方法可以使物体在碰撞后立即停止。我给你两个方法:

Method 1:

Set the velocity of the Rigidbody to 0当您检测到碰撞时。

如果物体也在旋转,则设置angularVelocity to 0 too.

void OnCollisionEnter(Collision collision)
{
    if (collision.gameObject.CompareTag("Player"))
    {
        Rigidbody rbdy = collision.gameObject.GetComponent<Rigidbody>();

        //Stop Moving/Translating
        rbdy.velocity = Vector3.zero;

        //Stop rotating
        rbdy.angularVelocity = Vector3.zero;
    }
}

Method 2:

Use 物理材质来控制碰撞时的摩擦力。

Go to Assets > Create > 物理材质

改变弹力 to 0.

改变Dynamic and 静摩擦值等于或大于1.

然后将其附加到Material插槽上的Collider.

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

碰撞后立即停止刚体运动/旋转 的相关文章

  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 为什么两个不同的 Base64 字符串的转换会返回相等的字节数组?

    我想知道为什么从 base64 字符串转换会为不同的字符串返回相同的字节数组 const string s1 dg const string s2 dq byte a1 Convert FromBase64String s1 byte a2
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new

随机推荐

  • 如何创建 std::set 结构?

    我需要创建一个stl set的结构 因此 我写了以下内容 stl set
  • 使用 jQuery 设置输入字段的值

    我想用 jQuery 在输入字段中添加一些值 问题出在输入字段的 ID 上 我正在使用 id 例如options input2 在这种情况下 我的代码不起作用 如果我使用 ID 像input2 然后就可以正常工作了 我需要使用options
  • 无法正确获取 UISwipeGestureRecognizer 方向

    我正在编写代码以在视图上向上或向下移动两根手指以更改某些状态 代码如下 UISwipeGestureRecognizer aSwipeGesture UISwipeGestureRecognizer alloc initWithTarget
  • flash和跨域问题

    我正在运行一个rails3项目 其中包含所有javascript 图像 swfs等的外部资产主机 这是在一个完全不同的域上 所以知道我尝试使用 swfobject 嵌入一些 SWF 在开发中 同一主机 一切正常 但在生产中 不同主机 它不会
  • Pygame Mixer.music 无法读取 mp3 流

    我正在尝试用 Python 制作自己的音乐播放器 在考虑了替代方案之后 我决定使用 pygame 的 Mixer music 来实际播放音频 我以前使用过 pygame 通常用于实际游戏 我一直在寻找 Playsound 直到我意识到我需要
  • Vaadin 14,6 AppLayout 与状态栏?

    我很高兴使用该标准Vaadin AppLayout 组件 https vaadin com components vaadin app layout 作为我的应用程序的布局起点 现在我收到了添加状态栏的要求 状态栏必须与导航栏具有相同的宽度
  • 使用 DTO 和 WPF 时是否需要实现 INotifyPropertyChanged?

    我的问题相当简单 标题中已经提出了 上下文如下 我有一个包含实体和存储库的域 查询的结果被映射到 DTO 并发送到 GUI GUI 是使用 WPF 实现的 对于映射 我需要实现 INotifyPropertyChanged 的 类 我的第一
  • C++ 中的 Unicode 到 UTF-8

    我搜索了很多 但找不到任何东西 unsigned int unicodeChar 0x5e9 unsigned int utf8Char uni2utf8 unicodeChar utf8Char assert utf8Char 0xd7a
  • PluginRegistry无法转换为FlutterEngine

    当我将 flutter 更新到版本 1 12 13 时 我发现了这个问题并且无法修复它 我按照发送的 firebase messaging 教程进行操作并收到以下错误 错误 类型不兼容 PluginRegistry 无法转换为 Flutte
  • 覆盖应用程序根 URL 的真正作用是什么?

    整个互联网上我唯一能找到解释的地方是MSDN https msdn microsoft com en us library aa983445 aspx 指定应用程序根 URL 的备用路径 用这个 如果 Web 应用程序根目录不是您的项目的根
  • 在 iText PDF 文档中安装 JTable

    我有一个JTable有四列 我正在使用 iText 库打印包含 JTable 数据的 PDF 文档 问题是 JTable 在 PDF 中无法正确显示 我在谷歌上搜索并发现这里同样的情况 http tiku io questions 4204
  • Arrays.asList(...).contains(...) 如何工作?

    我有以下代码 String weekEnds 0 6 for int i 0 i lt 7 i if Arrays asList weekEnds contains i System out println I am in the arra
  • 如何标准化 SVG 路径数据(跨浏览器)?

    我试图找到一种方法来实现跨浏览器路径标准化器 有一种描述的本地方式here http www w3 org TR SVG paths html svg SVGAnimatedPathData normalizedPathSegList功能示
  • SwiftUI 覆盖详细视图中的导航栏外观

    我有一个超级简单的 SwiftUI 主从应用程序 import SwiftUI struct ContentView View State private var imageNames String var body some View N
  • Maven部署打包并上传到AWS-Lambda

    我在将 Maven 部署包上传到 Amazon s3 时遇到问题 从 Eclipse 中 我能够成功生成 jar 文件 但是在上传到服务器时遇到问题 这是我的Java代码 package main java mavantestproj im
  • XSD 转 UML 命令行工具

    我想知道 是否有人遇到过任何命令行工具 优先免费 用于将 xml 模式 xsd 转换为 UML 图 xsd 用于表示类 因此 UML 类图就适合该目的 我对命令行工具更感兴趣 因为我想让它成为一个自动任务 因此我宁愿不必打开 UI 来执行它
  • DateTime.UtcNow 和 DateTime.Now.ToUniversalTime() 之间有什么区别

    对我来说它们都是一样的 UtcNow 只是一个快捷方式吗 事实上恰恰相反 这Now属性实现为 public static DateTime Now get return UtcNow ToLocalTime
  • 使用文档字符串和“未实现”异常预填充 Eclipse 和 Pydev 中的新函数

    我正在使用 Eclipse 和 Pydev 编辑 Python 源代码 我想记录我的所有函数 并在函数尚未实现时引发 未实现 异常 例如当我输入 def foo bar1 bar2 输入时 我希望它自动完成 def foo bar1 bar
  • 在 Vim 中控制选项卡名称

    在 MacVim 中 选项卡的名称似乎设置为该选项卡中最近打开的缓冲区的名称 这会在使用拆分时造成混乱 如何将选项卡名称固定到选项卡中的左上角窗口 以下函数返回左上角窗口中加载的缓冲区的名称 function GuiTabLabel ret
  • 碰撞后立即停止刚体运动/旋转

    我希望我的球体从一个位置跳到另一个位置 但不希望它随后平移 我不知道该怎么做 这是我的代码 void Update if thrown Input touchCount gt 0 Input GetTouch 0 phase TouchPh