'Under Siege'
Modular Sci-fi Environment
Under Siege 1
Обработка видео...
Contents:
1. Overview
2. Setup
3. Simple Gameplay (Principled)
4. Response Area
5. Turrets
6. Bullets
7. Enemies
8. Layers
9. Enemy spawner
1. Overview
'Under Siege' is a modular constructor (with gameplay) for creating cyberpunk sci-fi environments: station-like, tech fly islands-like etc.
Includes:
- modular sci-fi grounds double sided;
- sci-fi props variety;
- 5 types animated turrets (models);
- 2 types enemies (models);
- turret gameplay: search target, aim, fire;
- turrets setup: fire rate, aim time, search radius (via response area);
- bullet gameplay: target hit;
- bullet setup: fly speed, damage;
- explode effect (particle based);
- enemy gameplay: direct fly from spawner;
- enemy setup: fly speed, health (armor);
- realized gameplay: turret fire -> enemy hit -> enemy destroy;
- red-hot turret barrel effect (long fire time makes red-hot turret barrel; idle - cold barrel);
- colorful bullets (see video preview);
- enemy spawner;
- utilized Unity engine physics;
- textures 4K;
- 100-5000 tris;
- LOD's.
2. Setup
- Click download package via your Asset Store;
- Import to any project:
- 3d template (not Hdrp, not Universal) via Unity Hub with postprocessing effects out of the box:
- open demo scene;
- hit play.
- any other template (SRP's):
- select all materials in Materials folder, click Edit > Render Pipeline > Upgrade selected materials to your SRP;
- add default postprocessing module for your SRP;
- open demo scene;
- hit play.
3. Simple Gameplay (Principled)
In order to make gameplay (out of the box) you should:
- Drag and drop to your own scene prefab Response Area, stored here: \UnderSiege\Prefab\_System
- Drag and drop any turret (Turret3 for example) from \UnderSiege\Prefab\_Turret
- Turret must be placed inside Response Area wire sphere
- Make new empty gameobject (Ctrl+Shift+N)
- Add component USTraffic on it:
- Add Enemy prefabs from \UnderSiege\Prefab\_Enemy to vehicle array variety
- Right click on created gameobject - create empty:
- Adjust direction for new (child) gameobject. Make sure this gameobject directs to response area wire sphere.
- Something like this:
- Principled action ready. Hit play for preview.
4. Response Area
Response Area prefab is a primary service gameobject for turrets and for enemy ships. Details:
- Any turret must be placed inside ResponseArea wire sphere for correct working;
- Any enemy ship fly through Response Area becomes a target of a turret (random order for multi targets);
- Response areas may be overlapped. Response order by internal Unity engine calculations.
- Params:
- Enemy Layer - all enemy ships must belong to this layer;
- Turret Layer - all turrets must belong to this layer;
- Trigger Sphere Radius - response area trigger radius;
- Collect Rate - enemy targets detect update rate (in seconds). No need to change this param in most cases.
5. Turrets
There are 5 turrets types (models):
- Down Turret - tick for bottom turret placement;
- Aim speed - movement speed for turrets heads (look at current target);
- Fire Rate - fire speed in seconds (lower values = faster);
- Bullet - bullet prefab (no need to change by default).
- Emissive String - replace with '_EmissiveColor' for HDRP usage.
6. Bullets
There are some bullets for turrets types:
- Abs Life Time - absolute life time for gameogject. After that will be erased from scene;
- Speed - bullet speed;
- Damage - bullet power;
- Interact Layer - layer for target (enemy ship).
7. Enemies
There are 2 types of enemies (models):
- Health - health (armor) for the ship;
- Speed - movement speed;
- Abs Life Time - absolute life time for actor. After that will be erased from scene.
8. Layers
- set response layer for turret and for enemy ship;
- see Response Area prefab:
9. Enemy spawner
- Make new empty gameobject (Ctrl+Shift+N)
- Add component USTraffic on it
- Add Enemy prefabs from \UnderSiege\Prefab\_Enemy to vehicle array variety
- Right click on created gameobject - create empty (child) = spawn point
- Duplicate child gameobject - adjust position and rotation
- All children gameobjects = spawn points.
- maximum vehicle in scene - maximum count of enemy gameobjects;
- spawn frequency min/max time - enemy spawn freq. in seconds;
- start position scatter - scatter position for new enemy ship;
- vehicle variety array - add here enemy prefabs (for your own custom refabs: each prefab must contain: USEnemyShip.cs script, collider, game object layer = Response Area enemy layer);
- speed variety - enemy speed scatter.