BlueRoseNote/03-UnrealEngine/Physical/重置Cloth&Physical结果.md

749 B

title, date, excerpt, tags, rating
title date excerpt tags rating
Untitled 2024-11-11 16:35:38

有的时候布料会被卡在一些奇怪地方就需要进行重置。可以使用以下代码进行重置:

ResetDynamics(): boolean {
	console.log('reset dynamics')
	var comps = this.K2_GetComponentsByClass(UE.SkeletalMeshComponent.StaticClass())
	for (var i = 0; i < comps.Num(); i++) {
		var skelComp = comps.GetRef(i) as UE.SkeletalMeshComponent
		if (skelComp) {
			skelComp.ResetAnimInstanceDynamics(UE.ETeleportType.ResetPhysics)
			skelComp.ForceClothNextUpdateTeleportAndReset()
		}
	}
	return true
}

看得出主要是调用:

  • skelComp.ResetAnimInstanceDynamics(UE.ETeleportType.ResetPhysics)
  • skelComp.ForceClothNextUpdateTeleportAndReset()