---
title: SKFieldForceEvaluator
framework: spritekit
role: symbol
role_heading: Type Alias
path: spritekit/skfieldforceevaluator
---

# SKFieldForceEvaluator

The definition for a custom block that processes a single physics body’s interaction with the field.

## Declaration

```swift
typealias SKFieldForceEvaluator = (vector_float3, vector_float3, Float, Float, TimeInterval) -> vector_float3
```

## Discussion

Discussion The block parameters are defined as follows: Your block should perform any force calculations you are interested in and return the resulting force. important: Although your app can use the z coordinate of any of the float vectors to perform its calculations, the z value of the output vector is ignored by SpriteKit. Essentially, this means that you can use field effects only to animate a node’s position property, not its zPosition property.

## See Also

### Creating Field Nodes

- [dragField()](spritekit/skfieldnode/dragfield().md)
- [electricField()](spritekit/skfieldnode/electricfield().md)
- [linearGravityField(withVector:)](spritekit/skfieldnode/lineargravityfield(withvector:).md)
- [magneticField()](spritekit/skfieldnode/magneticfield().md)
- [noiseField(withSmoothness:animationSpeed:)](spritekit/skfieldnode/noisefield(withsmoothness:animationspeed:).md)
- [radialGravityField()](spritekit/skfieldnode/radialgravityfield().md)
- [springField()](spritekit/skfieldnode/springfield().md)
- [turbulenceField(withSmoothness:animationSpeed:)](spritekit/skfieldnode/turbulencefield(withsmoothness:animationspeed:).md)
- [velocityField(with:)](spritekit/skfieldnode/velocityfield(with:).md)
- [velocityField(withVector:)](spritekit/skfieldnode/velocityfield(withvector:).md)
- [vortexField()](spritekit/skfieldnode/vortexfield().md)
- [customField(evaluationBlock:)](spritekit/skfieldnode/customfield(evaluationblock:).md)
