Difference between revisions of "Korman:Getting Started"
Boblishman (Talk | contribs) (→Panic Linking) |
Tsar hoikas (Talk | contribs) m (Correct notes about panic linking in Korman 0.09 and lower and fix the version number) |
||
Line 132: | Line 132: | ||
===Panic Linking=== | ===Panic Linking=== | ||
− | |||
− | |||
What if we fall off this platform? We can add a '''Panic Link Region''', useful for Linking the avatar out of hazards or if they somehow fall out of the Age. | What if we fall off this platform? We can add a '''Panic Link Region''', useful for Linking the avatar out of hazards or if they somehow fall out of the Age. | ||
Line 144: | Line 142: | ||
If you'd prefer the avatar not grab for the Relto book when it falls, you can uncheck '''Play Animation'''. | If you'd prefer the avatar not grab for the Relto book when it falls, you can uncheck '''Play Animation'''. | ||
+ | |||
+ | <blockquote>'''NOTE''': Panic Regions may not work as expected in Path of the Shell in Korman (0.09 or lower), resulting in the avatar panic linking immediately upon linking into the age. Applying the location transform to the region may correct this issue.</blockquote> | ||
===Lighting=== | ===Lighting=== |
Revision as of 23:45, 29 January 2020
This is a tutorial page.Versions available: PyPRP; 3ds Max; Korman. |
This tutorial will familiarize you with basic functions to build an Age in Korman by creating a simple Age from scratch. Be sure to follow the installation instructions to properly set up Blender and Korman.
Contents
Setting Up Your Age
The first thing you want to do is get the basic information for your Age. If you're intending to release your Age publicly, this includes finding and reserving an unused sequence prefix. Follow the directions at that link to get a prefix and avoid possible conflicts with other fan Ages.
Age Options
Switch one of your windows in Blender to Properties. Next, click on the World button. Under the Plasma Age panel, put your reserved sequence number under Age Settings:ID.
In this same panel, you can also set the length of your Age's day in hours for a day/night cycle.
The Plasma Games will choose which version of the game to which you'd like to export. Each install of URU can be set up in Korman's user preferences.
Next, add your Age's filename (preferably as one word) into the box just below your Age ID (it'll be red until you enter something). Once that's done, that panel will be all set for exporting.
The Plasma Age panel is where you can add more "pages" to your Age. This is good for organizational purposes with larger and more complex Ages. You'll notice this is done for Cyan Ages such as Ae'gura (city) or Gahreesen (garrison). If nothing is here, everything will be exported to a default page.
To add a new page, simply press the plus symbol next to the window under the Plasma Age panel. You can rename it as well (letters and numbers ONLY, NO spaces or special characters).
Under Export Settings, there are two options:
- Display Verbose Log: checking this displays a much more detailed account of what is exporting, both in the console and in the text file log.
- Display Log Console: checking this will cause the console window to appear when you export so you can watch its progress.
Plasma Settings
- Age Global SDL: Choose this if you are planning on exporting an SDL file, which can be created in the Text Window (much like how AlcScript used to be done).
- Use Texture Page: Choose if you'd like textures to be displayed in your Age (unchecking this will only show the solid mesh).
More Options
Environment Maps: While Korman can determine which environment maps can be handled by which URU installation, if you'd like to set them all to a certain type, click this drop down and choose either:
- Export Supported EnvMaps: Needed for dynamic camera maps.
- Downgrade Planar EnvMaps: Downgrade all environment maps to less accurate cube environment maps.
- Don't Export EnvMaps: Turn off all EnvMaps. Helps with performance in some cases.
Static Lighting: This will set all lit objects with a Lighting Modifier to a certain type:
- Bake Lighting: The default option. This will bake all lighting to objects according to your specifications.
- Force Lightmap Bake: This will apply a lightmap to all objects with a modifier (more accurate lighting).
- Force Vertex Color Bake: Less accurate lighting, but this allows faster export and better Age performance.
- Don't Bake Lighting: No lighting will bake and your Age will export fully bright. Good for examining any texture/uv problems, etc.
Python: This will tell Korman how to handle any custom Python scripts you've set to export along with the Age:
- Pack All Scripts: This will pack any script that's been added into your blend and exist in your Text Editor with PY extensions. This is not recommended if you've used Cyan scripts as those are already included in the game.
- Pack Requested Scripts: This is the preferred option. This will export...or in the case of offline URU, pack...any scripts in the Text Editor that have had Export checked next to their filename.
- Pack Nothing: None of your custom scripts will be exported.
Texture Cache: Korman uses a cache to store previously exported textures to speed up future exports, and this drop down menu can manage that cache:
- Rebuild Texture Cache: If, for some reason, there are problems with textures after the first export, you can use this to refresh the texture cache.
- Use Texture Cache: The usual option to use the existing cache. Speeds up future exports.
- Don't Use Texture Cache: This will cause the cache to neither be used or updated. Textures will export each time, but this will slow down exports.
Under the Plasma Environment settings, you can set your fog color and density. If you'd rather have no fog, click on Fog Type, the click None.
Clear Color sets the background color of the "outside" of your Age should someone inadvertently see it. You can also use it in place of a sky dome if you don't mind one solid color for a sky.
Building a Test Age
Adding Terrain
For this demonstration, we'll use a simple plane as the "ground". Bring up your tool shelf in the 3D View window by hovering the cursor there and pressing T. Click the Create tab and choose Plane.
Give your ground a material and texture. Be sure to unwrap the object too by pressing Tab->U in the 3D window, pressing U, and then choosing an unwrapping option.
Collision
If we export our plane like this, your avatar will fall right through. It needs some collision. In your Properties window, select the Physics button.
Here, you can rename the object if you'd like (and as you add more objects, this is recommended).
For any object you'd like to export, make sure Plasma Object is checked. If you forget this step for a few objects, don't worry...you can enable everything as a Plasma object when exporting.
You can also set which page to which you would like the object exported (selecting nothing exports it to the default page).
To add collision, click the Add Modifier button under Plasma Modifiers and click Collision.
For the Bounds Type, it's best to use Triangle Mesh for the complicated meshes and Convex Hull for the more simple shapes.
Blocks Avatars will keep any avatars from passing through the mesh.
Blocks Camera will keep the third person camera from passing through.
Terrain will keep the avatar from "sliding" around on the surface, so you can deselect this if you'd like to have a "walking/running on ice" effect.
Dynamic is used for kickables.
NOTE: Flat planes cannot have Convex Hull collision or URU will crash.
Footstep Region
When we walk on our floor, we want some footstep sounds. For this, we'll need a footstep region.
Add a cube and scale it (S key) so that it encompasses everything.
Next, click the Physics button in the Properties window, click Add Modifier and then click Footstep
For bounds, use Convex Hull for simple shapes and Triangle Mesh for the more complicated meshes.
You can choose which type of surface noise for your floor: Dirt, Grass, Metal, Puddle, Rope, Rug, Stone, Water, Wood Bridge, Wood Floor, and Wood Ladder.
Adding a Link In Point
Our next step is to add a place for the avatar to Link into the Age. For this, we'll need to place an Empty object. In your 3D View window under the Tools tab, scroll down and click Empty.
Your empty should be placed about 1 Blender unit above your plane so that your avatar won't fall through or get stuck in the floor AND so it won't look like your avatar is dropping out of the sky slightly when Linking in.
With the empty selected, go back to your Physics panel in the Properties window. Rename the empty to LinkInPointDefault (any other Link in points after this can be named something else). Once again, click Add Modifier and then choose Spawn Point.
In the 3D Window, switch the orientation from Global to Local. Note that the avatar will face AWAY from wherever the spawn point's local Y axis (green arrow) is pointing, so rotate it according to where you want the avatar facing when it appears in the Age.
Panic Linking
What if we fall off this platform? We can add a Panic Link Region, useful for Linking the avatar out of hazards or if they somehow fall out of the Age.
For our example Age, we'll create a cube. Resize it and make it very large. Move it a short distance below the Age. To apply all the changes to the region, press Ctrl+A and then click Rotation and Scale.
Click on the Physics button of the Properties window, then click on Add Modifier, then Panic Link. Convex Hull is usually the best Bounds type, but if your panic region mesh is more complicated in shape, you can use Triangle Mesh.
If you'd prefer the avatar not grab for the Relto book when it falls, you can uncheck Play Animation.
NOTE: Panic Regions may not work as expected in Path of the Shell in Korman (0.09 or lower), resulting in the avatar panic linking immediately upon linking into the age. Applying the location transform to the region may correct this issue.
Lighting
Things are looking a little dark in here, so let's add a few lamps. The most common are Point lamps or a Sun lamp, but all should work with proper placement. Add any of these, choosing color, energy and location.
If you want any lamp to cast light on the avatar after export, you must check Plasma Object in the Physics panel in the Properties window.
Lightmapping
Now that we have some lighting, we can also create lightmaps.
NOTE: Unlike PyPRP, you will not need to uncheck all textures before this process. In fact, doing so will keep them from exporting at all.
By default, only lights with Plasma Object unchecked will cast on to a lightmap, but they won't cast light on the avatar upon export, which won't look realistic.
To create a lightmap and light the avatar, we must first have all lights we want to cast light put into a group. Select the first light and click on the Object button (orange box) in the Properties window.
Under the Groups panel, click on the + next to Add to Group to create a new group. Name it something you'll remember in the form below. Select each lamp you want included in the group, click the Add to Group button and select your light group. All the lights in the group should now have a green outline in the 3D window.
Next, select your ground plane. Go back to the Physics panel and click Add Modifier->Lightmap.
In this new panel, you can select the size of the lightmap image. For larger and/or more complex objects, it's best to choose a larger size (1024px).
Note the Active Render Layers section. Here, you can choose what objects on which layers will affect the lightmap.
Next, choose your Light Group from earlier (if you don't, only non-Plasma Object lights will project on to the surface).
You can leave your UV Texture blank. Otherwise, if you already have a Lightmap UV map, you can choose that instead.
To see if the lightmap will turn out the way you like, you can click Preview Lightmap. If it doesn't look right, you can change the settings and UV mapping.
Exporting
Now, we are ready to export the new Age.
Expanding Your Age
To further add to your Age, you can use any of the associated tutorials for Korman.