Character Types and Prefabs: Difference between revisions
No edit summary |
(Updating state of characters) |
||
Line 72: | Line 72: | ||
*Masculine_Med_BomberJacket_NPC | *Masculine_Med_BomberJacket_NPC | ||
| description | | description | ||
| | | working as intended, will need leaf bone removal | ||
|- | |- | ||
| npc | | npc | ||
Line 78: | Line 78: | ||
*Feminine_Med_CardiganNecklace_NPC | *Feminine_Med_CardiganNecklace_NPC | ||
| description | | description | ||
| | |working as intended, will need leaf bone removal | ||
|- | |- | ||
| npc | | npc | ||
Line 84: | Line 84: | ||
*Masculine_Med_CasualBlazer_NPC | *Masculine_Med_CasualBlazer_NPC | ||
| description | | description | ||
| | | working as intended, will need leaf bone removal | ||
|- | |- | ||
| npc | | npc | ||
Line 90: | Line 90: | ||
*Masculine_Med_CasualJumper_NPC | *Masculine_Med_CasualJumper_NPC | ||
| description | | description | ||
| | | not working as intended, yet to be revamped | ||
|- | |- | ||
| npc | | npc | ||
Line 96: | Line 96: | ||
*Masculine_Med_CoatScarf_NPC | *Masculine_Med_CoatScarf_NPC | ||
| description | | description | ||
| | |working as intended, will need leaf bone removal | ||
|- | |- | ||
| npc | | npc | ||
Line 102: | Line 102: | ||
*Feminine_Med_Hoodie_NPC | *Feminine_Med_Hoodie_NPC | ||
| description | | description | ||
| | | yet to be revamped | ||
|- | |- | ||
| npc | | npc | ||
Line 108: | Line 108: | ||
*Masculine_Med_HorseHead_NPC | *Masculine_Med_HorseHead_NPC | ||
| description | | description | ||
| | | yet to be revamped | ||
|- | |- | ||
| npc | | npc | ||
Line 114: | Line 114: | ||
*Masculine_Med_LeatherJacket_NPC | *Masculine_Med_LeatherJacket_NPC | ||
| description | | description | ||
| | | yet to be revamped | ||
|- | |- | ||
| npc | | npc | ||
Line 123: | Line 123: | ||
*Masculine_Med_LongJacket_NPC | *Masculine_Med_LongJacket_NPC | ||
| description | | description | ||
| | | yet to be revamped | ||
|- | |- | ||
| npc | | npc | ||
Line 129: | Line 129: | ||
*Masculine_Med_OpenShirt_NPC | *Masculine_Med_OpenShirt_NPC | ||
| description | | description | ||
| | | yet to be revamped | ||
|- | |- | ||
| npc | | npc | ||
Line 138: | Line 138: | ||
*Masculine_Med_SmartJumper_NPC | *Masculine_Med_SmartJumper_NPC | ||
| description | | description | ||
| | | yet to be revamped | ||
|- | |- | ||
| npc | | npc | ||
Line 148: | Line 148: | ||
*Player_Joe | *Player_Joe | ||
| description | | description | ||
| | | yet to be revamped | ||
|- | |- | ||
| npc | | npc | ||
Line 154: | Line 154: | ||
*Feminine_Med_Shirt_NPC | *Feminine_Med_Shirt_NPC | ||
| description | | description | ||
| | | yet to be revamped | ||
|- | |- | ||
| npc | | npc | ||
Line 161: | Line 161: | ||
*Player_Jen | *Player_Jen | ||
| description | | description | ||
| | | yet to be revamped | ||
|- | |- | ||
| npc | | npc | ||
Line 167: | Line 167: | ||
*Masculine_Med_TShirt_NPC | *Masculine_Med_TShirt_NPC | ||
| description | | description | ||
| | | yet to be revamped | ||
|- | |- | ||
| npc | | npc | ||
Line 176: | Line 176: | ||
*<s>Masculine_Med_Vest_NPC</s> X- broken rig | *<s>Masculine_Med_Vest_NPC</s> X- broken rig | ||
| description | | description | ||
| | | first pass, needs removal of leaf bones | ||
|- | |- | ||
| npc | | npc | ||
Line 185: | Line 185: | ||
*Masculine_Med_Waistcoat_NPC | *Masculine_Med_Waistcoat_NPC | ||
| description | | description | ||
| | | first pass, needs removal of leaf bones | ||
|} | |} | ||
Revision as of 14:46, 15 July 2020
Characters
Adding characters to your level is important as this will allow you to add other important systems such as conversations which is one way to introduce story elements to your level.
To add characters to your level you must open up the mission script and locate the character table. It should look something like this:
[[File:|frame|none|alt=|caption charactertable.png]]
To add a character in the table you must include the following:
- name
- displayName
- internalName
- characterType
- prefab
You can also include some optional parameters:
This would look like the following in code:
-- Character definitions: characters = { joe = { displayName = "Joe Harman", internalName = "Joe", characterType = "player", prefab = "player", headProps = {"F_Med_Glasses-01"}, spawnpoint = "PlayerSpawn", voice = "Big_Guard", }, },
Note. When the characterType is virtual you do not need to add a prefab or spawn-point.
Character Types and Prefabs
character type | prefab name | description | image |
---|---|---|---|
virtual |
|
virtual characters are characters that you won't see in the level but may communicate with the player using via CryptoChat | |
player |
|
This will allow you to add a playable character to your game.There can only be one per level. | |
npc |
|
description | working as intended, will need leaf bone removal |
npc |
|
description | working as intended, will need leaf bone removal |
npc |
|
description | working as intended, will need leaf bone removal |
npc |
|
description | not working as intended, yet to be revamped |
npc |
|
description | working as intended, will need leaf bone removal |
npc |
|
description | yet to be revamped |
npc |
|
description | yet to be revamped |
npc |
|
description | yet to be revamped |
npc |
|
description | yet to be revamped |
npc |
|
description | yet to be revamped |
npc |
|
description | yet to be revamped |
npc |
|
description | yet to be revamped |
npc |
|
description | yet to be revamped |
npc |
|
description | yet to be revamped |
npc |
|
description | yet to be revamped |
npc |
|
description | first pass, needs removal of leaf bones |
npc |
|
description | first pass, needs removal of leaf bones |
Voice
There are currently two voices, "Big_Guard" or "Huge_Guard". A table giving more information should go here when more voices are added.
Custom LUTs and head props
This is a subject of it's own, to customise the look of your characters further you will want to read up on Head props and Character Colours.
Virtual characters
Once you have created your virtual characters in order to use them within conversations you will have to add them to a network that is shared with the player. By default the mission script includes a mobile network called "Semaeopus4G" to connect other characters to this network you must use the ConnectToNetwork function. For example: Mission.ConnectToNetwork(mission.characters.terrance,mission.networks.Semaeopus4G.name,mission.networks.Semaeopus4G.userAccessKey)
Adding Guards
When creating guards you must add:
- Spawn points
- Patrol route
- Profile
- Agent
-- Guard definitions: characters = { guard01 = { displayName = "Thomas Template", internalName = "Thomas", characterType = "enemy", prefab = "bigGuard", profile = "GuardTemplate.lua", agent = "Guard.lua", spawnpoint = "GuardSpawn", patrolroute = { points = { "PatrolPoint_0-001", "PatrolPoint_0-002", }, cyclic = false, }, }, },
Spawn points
To create a spawn point:
- Create empty game object
- Add the mission object script to the empty game object
- Select type "Spawn"
Your inspector should look something like this:
Patrol route
To create a Patrol point:
- Create empty game object
- Add the Patrol point script to the empty game object
- Within the Patrol point script component section you can define the maximum and minimum time a guard spends at the particular point.
- Repeat this process for as many points as you require.
Your inspector should look something like this:
Profile
When creating a guard you can give each one a personal profile, which will effect how each guard communicates and behaves.
This is a basic template and structure you should use:
Character ={ Motivation = 0.6, Sociability = 0.5, FavouriteColor = { 1, 0.5586207, 0, 1 }, Background = { FirstName = "THOMAS", LastName = "TEMPLATE", Nickname = { "Tommy", }, DerogetoryName = { "Noggin", }, FavouriteSwear = { "gosh-darn", }, FavouriteFood = { "slice of Wensleydale cheese", }, FavouriteSnack = { "Babybell", }, FavouriteDrink = { "coffee", }, BestFriend = { "Tristan", }, RecipientPetName = { "Sweetums", }, SenderPetName = { "Hubby", }, FavouriteExclamation = { "Golly", }, RandomHashtag = { "#ROFL", }, Mood = { "happy", }, PastEvent = { "ate", }, FutureEvent = { "eat", }, }, },