Animated Crowd

Configuration

Via the Morpheus Actor

In your Morpheus Actor's details panel, you are able to configure its render targets using our simplified configuration - see Morpheus Render Target Settings

NOTE: The animated crowd currently assumes you are using the Avatarssystem, which handles informing the crowd which mesh to use.

  • If you tick Crowd Enabled, then your morpheus actor will use the animated crowd.

    • By default, the crowd will be configured automatically for you, deriving its fields from the render target actor used. If you want more specialist configuration, you can configure it in the Advanced configuration.

    • NOTE: For regular player characters using our Avatars system,

  • You can toggle this live using MorpheusActorRenderTargetComponent::SetUsingCrowd (will need to be called on every client)

In this example, we are using the default pawn as your LOD0 render target actor, and have the animated crowd enabled, with a raycastable crowd (see Raycastable Crowd). Without specifying any advanced Crowd Details, the raycastable crowd will be obtained from your settings, and your crowd details will be obtained from your LOD0 render target actor.

Advanced configuration

In the Advanced section, you can provide overrides to the Crowd Details:

  • IsmActorType defaults to the DefaultInstancedMeshActorClass defined in Project Settings -> Morpheus Platform -> Animated Crowd Settings. We do not advise changing this in most use cases.

  • Raycastable Crowd Class defaults to the DefaultRaycastableCrowdClass in the same project settings. This can freely be configured to suit your project.

    • You can also modify the class using SetRaycastableCrowdClass or ResetRaycastableCrowdClass.

    • For more details, see Raycastable Crowd

For details on the other settings, see Morpheus Render Targets.

Via the Pawn Set Asset

The "Pawn set asset" (see Pawn Sets) defines the LOD levels for the character, including what render targets they use for each. Typically, we have the first LOD level be an actor target type, and the second be the animated crowd.

You can configure the crowd data from here, e.g. using a different type of crowd, or modify the configuration/data associated with it. This flow can be very complex to modify - if you do think that you need to do so, please get in touch!

At Runtime

You can configure some settings regarding e.g. how many entities are rendered at which fidelity level, at runtime, using the following approaches:

The max number of characters that can be represented with real non-crowd actors is controlled by the PlayerClient.Rendering.NumInLOD0 live config flag (in the game config).

By default there are 35 entities in the first LOD Level for the PlayerClient lod group (the non-crowd level)

NOTE: By default, we assume that players are in the PlayerClient LOD Group. This can be configured if you want further flexibility.

Via BP

  • Via the RenderTargetManager (obtained from the authoritative Morpheus Actor via GetRenderTargetManagerFromAuthMorpheusActor), you can modify at runtime the max number of entities in a given LOD Level. e.g. to modify the number of non-crowd actors representing players, you can modify the max in LODGroupName = PlayerClient, LODLevel = 0.

  • For any MorpheusActor, you can modify its LOD Group live using UpdateClientLODGroup. If you want it to be rendered at a higher priority (e.g. for presenters that you want all players to be able to see at the highest fidelity at all times), you can set it to e.g. the Priority bucket within the PlayerClient group.

Last updated

Was this helpful?