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

物理仿真学习笔记 第一篇:绳子(弹簧振子系统,阻尼)

基础:

1.time step:步长(更新频率)
2.spring-Mass System :弹簧振子系统(太远产生拉力, 太近产生排斥力)
3.stiffness:刚度(拉力和排斥力的大小)
4.damping:阻尼(自定义能量衰减系数)

一条绳子是由多个粒子组成,粒子包含:
1.位置 position
2.瞬时速度 velocity
3.所受到的力 force

两个粒子之间有:2.spring-Mass System :弹簧振子系统(太远产生拉力, 太近产生排斥力)

并且模拟现实物理的能量衰减:空气阻力和拉力产生的能量:4.damping:阻尼(自定义能量衰减系数)

整个类:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Rope : MonoBehaviour
{public int particleCount = 20;public float particleLength = 0.1f;private List<RopeParticle> ropeParticles = new List<RopeParticle>();private Vector3 gravity = new Vector3(0, -9.81f, 0);public float damping = 0.2f;private void Start(){var pos = new Vector3(particleLength, 0, 0);for (int i = 0; i < particleCount; i++) {var ropeParticle = new RopeParticle(i * pos);ropeParticles.Add(ropeParticle);}}private void FixedUpdate(){for (int i = 1; i < particleCount; i++){var ropeParticle = ropeParticles[i];Vector3 dis = ropeParticles[i -1].position - ropeParticle.position;var offset = dis.magnitude - particleLength;var springForce = offset * dis.normalized * 1000;ropeParticle.force += springForce;ropeParticle.force += gravity;ropeParticle.force -= damping * ropeParticle.velocity;ropeParticles[i - 1].force -= springForce;}for (int i = 1; i < particleCount; i++){var ropeParticle = ropeParticles[i];ropeParticle.velocity += ropeParticle.force * Time.fixedDeltaTime;ropeParticle.position += ropeParticle.velocity * Time.fixedDeltaTime;ropeParticle.force = Vector3.zero;}}private void OnDrawGizmos(){Gizmos.color = Color.yellow;for (int i = 0;i < ropeParticles.Count; i++){if(i == 0) { continue; }Gizmos.DrawSphere(ropeParticles[i].position, 0.05f);Gizmos.DrawLine(ropeParticles[i - 1].position, ropeParticles[i].position);}}
}public class RopeParticle
{public Vector3 position;public Vector3 velocity;public Vector3 force;public RopeParticle(Vector3 position){this.position = position;}
}

效果:
请添加图片描述

http://www.dtcms.com/a/557629.html

相关文章:

  • 柳州游戏网站建设seo综合查询网站
  • 网站推广的短视频推广wordpress 文章导入
  • SQL学习之常见函数和连接查询
  • html制作企业宣传网站wordpress企业网站开发
  • 建立个人网站的步骤有哪些wordpress 下雪插件
  • LLMs之HPT:《Towards a Unified View of Large Language Model Post-Training》翻译与解读
  • 茂名网站建设系统网站开发毕业设计文献综述
  • 便携式功耗分析仪LuatOS IoT Power vs. Nordic PPK2
  • 易语言做网站登录茶叶品质网站建设
  • JVM 调优实战:从线上问题复盘到精细化内存治理
  • 龙岗网站建设方案网站建设推广培训
  • 多模态生成 DALL-E
  • 网站做任务赚佣金网站建设推广费怎么做账
  • 提供设计网站效果图wordpress主题标签
  • 怎样建立个人网站网站建设空间域名是什么意思
  • python进阶教程15:单例模式、工厂模式和适配器模式
  • 购物网站开发设计文档电子商务网站案例分析
  • 360免费网站建设做网站要买什么空间
  • 统计数学---数据归一化(Data Normalization)
  • 漳州网站建设网站运营北京最牛计算机培训机构
  • 【51单片机】【protues仿真】基于51单片机自动浇花系统
  • 2003系统建网站福清做网站的公司
  • 装饰网站案例网站上传附件目录格式
  • Spring AI Alibaba 框架使用示例总体介绍
  • 百度智能云API实现人脸识别
  • AOI在产品质量检测制造领域的应用
  • 哪里有网站培训的罗湖中小网站建设
  • CentOS Stream 网络故障排查:静态IP丢失、无法访问的完整解决方案
  • wp网站建设app图标制作
  • 昆明seo网站建设费用店面设计英文