Difference between pages "How to create new level" and "3D Asset Workflow: Sikailu"

From Frozenbyte Wiki
(Difference between pages)
Jump to: navigation, search
(Created page with "After you've opened the editor but before you've done anything else, you should read Editor basic controls. Once you've finished reading that, you should open the necessa...")
 
(Created page with "<div style="border-bottom:2px solid #99aac7; background:#d0def5; padding:0.4em 0.5em; font-size:130%; margin-bottom: 25px; text-align: center; float:top;"> ⬑ 3D Asset Wor...")
 
Line 1: Line 1:
After you've opened the editor but before you've done anything else, you should read [[Editor basic controls]].
+
<div style="border-bottom:2px solid #99aac7; background:#d0def5; padding:0.4em 0.5em; font-size:130%; margin-bottom: 25px; text-align: center; float:top;">
 +
⬑  [[3D Asset Workflow]]</div>
  
Once you've finished reading that, you should open the necessary windows. These include (but are not limited to) ''Scene instances tree'', ''Type tree'', ''Object properties'' and ''Error list''. If you read the page mentioned above, you know how to open them and what's their main function.
+
<div style="padding-right: 10px; padding-left: 1000px; padding-top: 60px; padding-bottom: 80px;">
 +
{{#lst:3D Asset Workflow}} <!-- Link list transcluded from main 3D Asset Workflow page -->
 +
</div>
  
 +
= Summary =
 +
'''Sikailu / sikailla''' = "to act like a pig", a noun and a verb. Sometimes a 3D artist/level artist needs to take an already existing 3D model, and make something completely new out of it, using the parts of the old one. This happens when the old models do not 100% fit the desired design. Rather than making a new model out of scratch, sikailing it is way faster
  
= Create a new level =
+
* Sikailu is used by both the 3D artists and the level artists - this wiki page will cover the 3D side of it only
1. Create a new map from '''File > New''' (Ctrl+N)
+
** The basic principal is the same: bashing different assets together to create something "new"
 +
** The level artists will do this in the Editor, but the 3D artists can create actual fbxmodels out of the sikaille'd models
  
2. From your Types window, find and drag a '''RockCollisionHelper''' to the scene and set its '''ModelComponent''' property 'VisibleInGame' to true (check the box)
+
= Sikailu Workflow Steps =
 +
[[File:3D_Asset_Workflow_sikailu_flowchart_10.5.2023.jpg|1100px|center]]
  
3. Drag an InvisibleCheckpointEntity on top of the '''RockCollisionHelper''' and set its property '''MissionStartCheckpoint''' boolean to true (check the box)
+
# When you get the sikailu task, you first need to '''find the model/models needed''' for completing the task
 
+
#* All the workfiles should be in the SVN workspace, but if you can't find them or if they're outdated, take them from the binary folder
4. Add an '''AmbientLightEntity''' somewhere into the scene
+
# In most cases, the new sikailu model will be added as an additional fbxmodel to a pre-existing set, so open the file and make a new mesh layer for it in Modo
 
+
#* It's best to save the file to your computer locally, rather than work from the workspace/binary
5. By pressing the play button (F5), you'll be able to start your level
+
# '''Build the sikailu model required out of the pieces of the old model'''
 
+
#* Sometimes you need to use multiple models for this, but if at all possible, don't use multiple texture sets - they will add drawcalls in the Editor, meaning that it will use more memory
Where to find everything is listed in Entities needed.
+
# As you're building a new fbxmodel entirely, you can bend and modify the models used as needed, to get the end result you want
 
+
# Name the asset in a way that it fits the other, pre-existing models in the set
= Saving =
+
# Make [[3D_Asset_Workflow:_LODs|LODs]] for the asset
Once you are happy with your changes save them by pressing '''Ctrl+S''' or '''File > Save Map'''.
+
# Export the asset to the Editor
 
+
#* If you're adding an asset to a pre-existing set, you can only create that one as a new model, and not update the existing models
Save the map into '''data/mission/missionname''' folder where the "missionname" is your mission name.
+
# Make sure everything works
Make sure that your level gets saved into "missionname" folder and the file name is "missionname.fbe".
+
#* It's important to also check that you didn't accidentally break anything from the existing set
 
+
# Add the updated workfiles to the workspace SVN
Example: If you would like to do a mission: "mymission", save it into: data/mission/mymission/mymission.fbe
 
 
 
 
 
= Entities needed =
 
* '''RockCollisionHelper''' (TypeRoot->InstanceBase->Entity->ObjectEntity->object->Helper->CollisionHelper->RockCollisionHelper)
 
* '''CameraSystemPrefabEntity''' (TypeRoot->InstanceBase->Entity->PrefabEntity->CameraSystemPrefabEntity)
 
** '''NOTE:''' When creating levels for Shadwen, the CameraEntities are set up automatically!
 
* '''InvisibleCheckpointEntity''' (TypeRoot->InstanceBase->Entity->GameplayEntity->CheckpointEntity->InvisibleCheckpointEntity)
 
* '''AmbientLightEntity''' (TypeRoot->InstanceBase->Entity->LightEntity->AmbientLightEntity)
 
 
 
= Layers and Settings =
 
== Layers ==
 
The editor has different layers in the same way as e.g. Photoshop. It's entirely possible to use only one layer for every object in the level, and this might not be a problem in small test levels. When creating a more complex level however, it's crucial to use the correct layer for each object in the scene to avoid confusion.
 
 
 
In this simple level we have only four objects, but to emphasize the good practice, each one of them goes into a separate layer. '''RockCollisionHelper''' should be put into the collision layer (layer 2), '''CameraSystemPrefabEntity''' to the camera layer (layer 4), '''InvisibleCheckpointEntity''' to e.g. respawn layer (layer 5) and '''AmbientLightEntity''' to the  default layer (layer 1).
 
 
 
You can choose which layer you want the object to be in by either:
 
* choosing the correct layer from the layer toolbar ([[File:Layers.png]]) before adding the object from the Type tree or by
 
* going to the properties of the object that you've added to the scene and choosing the correct layer from there with the drop-down list next to "Layer" property.
 
 
 
 
 
[[File:Layerdropdownlist.png]]
 
 
 
 
 
== Settings ==
 
 
 
Once you've added all the objects to the correct layers, there're some settings that need to be changed in the properties of the objects. Since we're not using any textures on this map, the player character seems to be running on air, unless the collision helper is visible. Making the '''RockCollisionHelper''' visible to the player can be done from the '''ModelComponent''' property of the '''RockCollisionHelper'''. Find the property "VisibleInGame" and set it to True (tick the box).
 
[[File:ModelComponent.png|thumb|Setting the '''RockCollisionHelper''' as visible to the player]]
 
 
 
You should also scale the collision helper so it's large enough to run around. The scale tool (keyboard shortcut: 3) will help you with that.
 
 
 
After you're satisfied with the scale and placement of the '''RockCollisionHelper''', you need to change the '''InvisibleCheckpointEntity''' to be the starting checkpoint of the level. '''Each level always needs one, and only one''' "MissionStartCheckpoint". You can make the checkpoint to be the starting checkpoint of the level by going to the properties, opening '''TrineCheckpointComponent''' ('''NOTE:''' In later versions of the editor e.g. Shadwen Editor, the the component name has been changed to '''GameCheckpointComponent''') and setting "MissionStartCheckpoint" to true (again tick the box).
 
[[File:Missionstartcheckpoint.png|thumb|Setting the '''InvisibleCheckpointEntity''' as the starting checkpoint of the mission]]
 
 
 
When these settings are changed, you can test play the level by either:
 
* pressing [[File:Play_green.png]] to start from the checkpoint you chose as the "MissionStartCheckpoint" or by
 
* pressing [[File:Play_blue.png]] to start from the camera position.
 
 
 
You can return to the editor view by pressing [[File:stop.png]].
 
 
 
After this, you can add more objects to your level from the Type tree or by copying existing objects (only '''RockCollisionHelper''' at this point, because you shouldn't duplicate the other objects in this level unless you know what you're doing). You can also change the color and intensity of the ambient light from it's properties.
 
 
 
== Instant Kill Area ==
 
 
 
Adding Instant Kill Area under your level makes the player character mortal, when e.g. falling to a pit.
 
 
 
[[File:insta_kill_area.JPG|600px]]
 

Latest revision as of 16:40, 28 July 2023

3D Asset Workflow

Summary

Sikailu / sikailla = "to act like a pig", a noun and a verb. Sometimes a 3D artist/level artist needs to take an already existing 3D model, and make something completely new out of it, using the parts of the old one. This happens when the old models do not 100% fit the desired design. Rather than making a new model out of scratch, sikailing it is way faster
  • Sikailu is used by both the 3D artists and the level artists - this wiki page will cover the 3D side of it only
    • The basic principal is the same: bashing different assets together to create something "new"
    • The level artists will do this in the Editor, but the 3D artists can create actual fbxmodels out of the sikaille'd models

Sikailu Workflow Steps

3D Asset Workflow sikailu flowchart 10.5.2023.jpg
  1. When you get the sikailu task, you first need to find the model/models needed for completing the task
    • All the workfiles should be in the SVN workspace, but if you can't find them or if they're outdated, take them from the binary folder
  2. In most cases, the new sikailu model will be added as an additional fbxmodel to a pre-existing set, so open the file and make a new mesh layer for it in Modo
    • It's best to save the file to your computer locally, rather than work from the workspace/binary
  3. Build the sikailu model required out of the pieces of the old model
    • Sometimes you need to use multiple models for this, but if at all possible, don't use multiple texture sets - they will add drawcalls in the Editor, meaning that it will use more memory
  4. As you're building a new fbxmodel entirely, you can bend and modify the models used as needed, to get the end result you want
  5. Name the asset in a way that it fits the other, pre-existing models in the set
  6. Make LODs for the asset
  7. Export the asset to the Editor
    • If you're adding an asset to a pre-existing set, you can only create that one as a new model, and not update the existing models
  8. Make sure everything works
    • It's important to also check that you didn't accidentally break anything from the existing set
  9. Add the updated workfiles to the workspace SVN