나는 구/석 (눈덩이)을 가지고 있습니다. 눈이 굴러 가면 자랍니다 (나는 그것을 스케일하고 질량을 더합니다).구의 크기를 조절하면 겹치는 충돌이 발생합니다.
문제점 : 나는 이상한 행동을하지만, 내 공은 굴러 가지 만 때로는 "뛰기"(또는 튀어 오름).
공이 커지고 땅과 겹쳐 큰 충돌을 일으키는 것 같습니다.
나는 그것이 오프셋 (Ball->SetAllPhysicsPosition(Ball->RelativeLocation + FVector(0, 0, newRadius-pastRadius);
와 위치의 변경을 시도,하지만 난 여전히 같은 문제가 있습니다. 큰 있지만) 어떤 크기와 오프셋 하드 코딩.
와 (그것은 "작품"당신은이겠습니까 이 문제를 해결하는 방법에 대한 생각?
이 내가 공을 더 얻을 수 있도록하는 데 사용하는 코드입니다. 나는 주위를 이동하는 토크를 추가 할 수 있습니다.
void ASnowballBall::NotifyHit(...)
{
float resizeValue = 0.0f;
//If the snowball collides with snow, it grows
if (Other->GetName().StartsWith("Snow", ESearchCase::IgnoreCase) && Ball->BodyInstance.GetUnrealWorldVelocity().Size() > 50.0f)
{
// Max size based on mass
if (Ball->GetMass() < 10000.0f){
resizeValue = (20.0f/Ball->GetMass()));
resizeValue = FMath::Clamp(resizeValue, 0.0f, 0.003f);
Ball->SetRelativeScale3D(Ball->RelativeScale3D + resizeValue);
Ball->SetMassScale("None", Ball->BodyInstance.MassScale);
}
}