Wandering NPC
A Wandering NPC is a simplified Agent that you can use to populate your levels with. They do not have a character profile and can not be explicitly controlled via scripts, their sole purpose is to add some life to your scene!
Options on Wandering NPCs
Wandering NPC Table | |||
---|---|---|---|
Name | Type | Description | |
spawnPointNames | table | A list of position strings at which the wandering NPCs should be spawned. Similar to when spawning agents the strings of the table correspond to game objects in the scene with the "Mission Object" script attached and the type set to "Spawn". | |
spawnNum | number | The number of NPCs to spawn with this configuration. | |
wanderNPCsCharacters | string | The character prefabs used to spawn the NPCs. It is recommended to use a single string to guarantee good results with the head props and textures. If multiple are used, a random entry is chosen. Default value is "Masculine_Med_BomberJacket_NPC". | |
headProps | table | A list of head props. Each NPC is assigned a random entry. null can be used to use no head props. | |
colorTextures | table | A list of charactor colors. Each NPC is assigned a random entry. "Default" can be used to use the character prefabs default. | |
metalTextures | table | A list of metalic values. Each NPC is assigned a random entry. "Default" can be used to use the character prefabs default. | |
gestures | table | A list of AI gestures. NPCs perform them with a 10% chance when they stop at a location. Default value is "LookAtPhone". |
Note that colour and metal texture are not linked together and are separately chosen at random.
Wandering NPC behaviour
Wandering NPCs are spawned in randomly within a ~25m sphere around the spawn points on valid locations. The NPCs then start wandering to a random reachable spot within the spawning sphere that is at least 10m away using the navmesh. At the location, there is a 10% chance to play a gesture, then the wandering cycle repeats. Since these NPCs are used primarily for giving a visual feeling of the world being alive, they do not drop data points and won't interact with the environment or the player.
Examples
Here are some examples to get you started!
function MissionSetup_Always() -- Example 1 Mission.SpawnWanderNPCs ( {"WanderNPCPoint"}, -- spawnPointNames 10, -- spawnNum {"Feminine_Med_Vest_NPC", "Feminine_Med_SmartJumper_NPC"}, -- wanderNPCsCharacters {"F_Lrg_Hair-Long-Fringe_01", "F_Lrg_Glasses-Reading_03"}, -- headProps {"Default", "LongJacket_Col_HotelClerk_S1H6.png", "Vest_Col_Col_TruckerBlue.png"}, -- colorTextures {"Default", "Waistcoat_Met_Docker.png"}, -- metalTextures {"LookAtPhone", "LookingAround" } -- gestures ) -- Example 2 Mission.SpawnWanderNPCs ( {"WanderNPCPoint1", "WanderNPCPoint2" }, 5, "Masculine_Med_LongJacket_NPC", {null, "M_Med_Glasses-Reading_03", "M_Med_Glasses-Reading_02", "M_Med_Hat-Sunvisor_01", "M_Med_Beard-Moustache_02"}, {"Default", "LongJacket_Col_Reporter_S2H3.png", "LongJacket_Col_RemovalPerson_S5H6.png", "LongJacket_Col_Soldier_S5H6.png"}, {"Default", "Waistcoat_Met_Docker.png"}, {"LookAtPhone", "Yawn", "Shouting" } ) end