Youngs 模量弹簧应变

Youngs Modulus Spring Strain

提问人:Berkay Onur 提问时间:11/3/2023 最后编辑:Berkay Onur 更新时间:11/3/2023 访问量:30

问:

我需要模拟钢应变。但是我不能增加足够的压力。如果我愿意,它的爆炸和阻尼值无法修复。

这是我的代码:

Vector3 delta = distance_joint.FirstNode.transform.position - distance_joint.SecondNode.transform.position;
float deltalength = delta.magnitude;

// Calculate strain
float strain = (deltalength - distance_joint.Distance) / distance_joint.Distance;

// Calculate the spring force based on Young's Modulus
Vector3 force = delta.normalized * SpringK * strain;

// Calculate relative velocity
Vector3 relativeVelocity = distance_joint.SecondNode.GetVelocity() - distance_joint.FirstNode.GetVelocity();

// Damping coefficient (you can adjust this value)
float dampingCoefficient = SpringDamping;

// Calculate the damping force based on relative velocity
Vector3 dampingForce = -dampingCoefficient * relativeVelocity;

// Combine spring force and damping force
force += dampingForce;

// Apply forces to the connected nodes
distance_joint.SecondNode.AddForce(force);
distance_joint.FirstNode.AddForce(-force);

骨架结构器

我想做一个汽车骨架。我需要模拟像钢一样的材料应变。

unity- 游戏物理 物理引擎

评论

0赞 Absinthe 11/3/2023
这是出于游戏或学术/工程目的吗?你用的是弹簧接头吗?
0赞 Berkay Onur 11/3/2023
对于一个游戏来说,这就是联合代码。我尝试了不同的算法,但还不稳定。
0赞 Absinthe 11/3/2023
也许重置此事件的阻尼:docs.unity3d.com/ScriptReference/Joint.OnJointBreak.html
0赞 Berkay Onur 11/3/2023
我不使用单位接头,这不是问题。

答: 暂无答案