当前位置: 首页 > news >正文

Unity实现不倒翁

Unity实现不倒翁

Unity 实现不倒翁

不倒翁插件下载地址:
这是一个下载地址
https://www.aigei.com/item/zekpackage_unit.html
请使用URP渲染管线创建工程,导入此插件,有问题评论区告诉我。
备用下载地址:B站

using UnityEngine;[RequireComponent(typeof(Rigidbody))]
public class RolyPoly : MonoBehaviour
{[Header("重心设置")][Tooltip("重心高度偏移(负值降低重心)")]public float centerOfMassOffset = -0.25f;[Header("物理参数")][Range(0.1f, 10f)] public float angularDrag = 2f;[Range(0.1f, 10f)] public float maxAngularVelocity = 8f;private Rigidbody rb;private Vector3 originalCenterOfMass;[Header("摇摆优化")]public float stabilizationForce = 5f;/*  参数、作用、推荐值
centerOfMassOffset  重心越低越稳定	(-0.5,  -1.5)
angularDrag 旋转阻力,值越大停止越快	(1.0, 3.0)
maxAngularVelocity 最大旋转速度	(5, 10)
stabilizationForce 主动稳定力度	(2, 5)
*/void Start(){rb = GetComponent<Rigidbody>();rb.maxAngularVelocity = maxAngularVelocity;rb.angularDrag = angularDrag;// 设置重心originalCenterOfMass = rb.centerOfMass;AdjustCenterOfMass();}void AdjustCenterOfMass(){// 降低重心(Y轴负方向)Vector3 newCenter = originalCenterOfMass;newCenter.y += centerOfMassOffset;rb.centerOfMass = newCenter;}void FixedUpdate(){// 增加稳定性if (rb.velocity.magnitude < 0.1f){Vector3 uprightDirection = Vector3.up;Vector3 currentUp = transform.up;// 计算恢复力矩Vector3 torque = Vector3.Cross(currentUp, uprightDirection);rb.AddTorque(torque * stabilizationForce, ForceMode.Acceleration);}}// 可选:在编辑器中可视化重心void OnDrawGizmosSelected(){if (!Application.isPlaying) return;Gizmos.color = Color.red;Gizmos.DrawSphere(transform.TransformPoint(rb.centerOfMass), 0.1f);}
}
http://www.dtcms.com/a/242829.html

相关文章:

  • Spring AI MCP
  • UVa12298 3KP-BASH Project
  • AR珠宝佩戴与传统的珠宝购物有哪些区别?​
  • Keepalived 与 Nginx 高可用部署方案详解
  • “详规一张图”——上海土地利用数据
  • Dify-6: 部署
  • PostgreSQL 的扩展pg_walinspect
  • copilot基于 DeepSeek-R1 思路构建 VLA 自动驾驶强化学习系统
  • C# vs2022 找不到指定的 SDK“Microsof.NET.Sdk
  • 第一部分 -- ①语法分析的概要
  • Flask RESTful 示例
  • 使用obsutil工具在OBS上完成基本的数据存取【玩转华为云】
  • 【WiFi帧结构】
  • github.com 链接127.0.0.1
  • 弯曲问题的几个注解
  • 参数量计算举例
  • 大数据学习(136)-数据埋点
  • Chapter03-Authentication vulnerabilities
  • 期末考试复习总结-第一章《HarmonyOS介绍》
  • 【PX4飞控】右手坐标系与右手系旋转正方向的定义与判断方法
  • SQL SERVER 数据库迁移的三种方法!
  • Text GRAD使用场景的案例分析
  • 光影魔术手 4.7.1 | 经典照片美化软件
  • 【大模型01---Flash Attention】
  • 【数字图像处理】基于Python语言的玉米小斑病图像分析
  • java容易被忽略的事情
  • API网关是什么?原理、功能与架构应用全解析
  • 凤凰双展翅之七七一五八九五隔位六二五
  • 创建多个 OkHttpClient 实例 场景
  • stm32驱动ULN2003控制28BYJ48步进电机原理及代码(通俗易懂)