NAV16AP
3. jakso lukuvuonna 2016-17
Hype- eli hyötypelihanke tarvitsee uuden ilmeen.
Hype-hankkeessa luodaan uusia toimintatapoja ja malleja koulutusasteet, toimialarajat ja organisaatiorajat ylittävän hyötypelikoulutustarjonnan luomiseksi ja räätälöimiseksi elinkeinoelämän tarpeisiin digitalisaation mahdollistamaa ajasta ja paikasta riippumattomuutta hyödyntäen.
Koulutuksen kehittämisessä huomioidaan erityisesti elinikäisen oppimisen ja henkilökohtaisen osaamispääoman kerryttäminen mahdollistaminen.
Perimmäisenä tavoitteena on peliteknologian ja yleisemminkin pelillisyyden hyödyntäminen.
1. Uusien tarveperusteisten innovaatioiden synnyttämiseksi ja jalkauttamiseksi.
2. Luovien alojen osaajien työllistymistilanteen parantamiseksi.
3. Uuden liiketoiminnan synnyttämiseksi.
4. Elämänlaadun ja hyvinvoinnin parantamiseksi.
Miten ylläolevan tekstin kohdat 1-4 voi esittää muuten, ikoneilla ja kuvilla?
Esimerkiksi Uuden liiketoiminnan synnyttämiseksi kohdassa voisi olla tehtaan kuvia, joka kuvaa uuden liiketoiminnan syntyä.
Elämän laadussa voisi olla joku hymiönaama, joka tietenkin kuvaa hankkeen saavuttamaa hyvää vointia.
Näitä ei kannata ottaa kirjaimellisesti vaan vain auttamaan ideoinnissa.
1. Tehtävä
Suunnittele hankkeelle julistekokoinen juliste.
Tarvitaan siis ilme.
Logo mockup. Sitä ei tarvitse käyttää pohjana, mutta lähinnä se kuvaa mitä haetaan.
Logossa on yritys esittää kaikki haettavan ilmeen ydinasiat.
1. Fontti Myriad Pro. llmeen tyyliin kuuluu käyttää aina Myriad Pro fonttia vaikkapa Regular bold ja italic tyyleillä. Web sivuilla ja miksei julkaisuissamme voi olla käytössä joku lisäfontti jota käytetään otsikko-tasoilla
2. Tuodaan pelillisyys jotenkin vaivihkaa esille.
3. Päävärit (Googlesta ekalla haulla sattuneet material design värit) joita on helppo käyttää kaikessa viestimässämme materiaalissa.
2. Tehtävä
Suunnittele hankkeelle logo.
maanantai 20. helmikuuta 2017
keskiviikko 15. helmikuuta 2017
UNITY FPS - Enemy spawning and shooting
NAV16AP
3. jakso
lukuvuonna 2016-2017
Create a
weapon to your enemy just like you did for the player and place in it the
hierarchy so that weapon has a holder, the weapon itself is child to the holder
and spawning point for the enemy bullet is child to the weapon.
Create
health fsm for the player in the same way you did for the enemy.
You'll need
two events death and damage which is a global event. Create 1 float variable called health.
In the
first state set health to 10 with set float value action.
Next state
has float compare action which compares the health variable to 0. Make death
transition for this state and select it in the less than and equal sections.
The death transition goes to third state.
Third state
has only restart level action so that when player dies the level is restarted.
Last state
has the damage global transition. This is needed for the bullet to do damage.
Select float subtract action and choose health for your float variable and 1 as
the number to subtract. Make finished transition to the second state that has
the float compare action.
Also make a
new bullet for the enemy. The bullet
will be almost the same as for the player.
First state
has two events: hit and destroy. Remember to make game object variable named
player object and float variable named speed. Select the speed for that
variable or the bullet won't move.
Choose
three actions: translate, raycast and wait for the first state.
Translate
has the speed variable in the z axis.
In raycast
write 1 in the z axis for direction, 0.9 for distance and select hit as hit
event and store the hit object as player object.
Wait for
two seconds before sending event finished to the destroy state.
Second
state has compare game object tag action in which you will compare your game
object variable to the player tag. True event is hit player and false event is
not player. You'll need to make these events in the event tab. Link true event
to third state and false event to destroy state.
Third state
has the send event by name action. Send the event to the player object and
choose right fsm and event for the action.
Create finished transition that
links to the fourth state called destroy which has the destroy self action.
Next create
a new fsm called enemy shoot for the enemy.
Create a
bool variable named sight and two events: fire & keep firing.
In the
first state you're going to have two actions. First is get fsm bool in which
you select from your enemy movement fsm the insight variable and store it as
the newly created sight variable. Bool test has the sight as variable and it
sends is true event fire.
Second
state has 4 actions: get fsm bool, bool test, create object and wait.
Get fsm
bool has same selections as in the first state. Bool test
has sight as bool variable and finished in false event. Create object
has your enemy bullet prefab as the created object and enemy bullet spawn as
spawn point. Wait action
send finished event after 0.06.
Third state
has the same actions except for the create object. In wait action choose the
time to be 0.9.
Lastly
you're going to spawn more enemies. Make an empty game object and name it as
game controller. Select new fsm for it.
Create four
variables. First is named position and it's a vector3 variable. Then you need
two float variables named zaxis and xaxis. Create a global int variable called
enemy. Also create new event called
create enemy.
In the
first state choose action called random float and use it two times. The min and
max values for these depend on your game scene space. You can create an empty
object and move it around to check in what area you want your enemies to spawn
in. After your have selected the values and stored those in the float variables
make finished transition to the second state.
Second
state has three actions: set vector xyz, create object and int add.
In the set
vector xyz choose your xaxis and zaxis float variables in corresponding
section. For the y value choose the y value from your enemy so it wills spawn
at right height. Select your position variable in vector 3. Create your
enemy prefab in the create object and select position variable as position. Int add
actions has global enemy int variable
and add 1 each time enemy has spawned.
Third state
has int compare action. This will compare your global enemy variable to a
number you choose. This number will represent the number of enemies in the
field. If the enemy variable is less than the number send event create enemy to
the first state in less than section.
Lastly you
want your enemy count to decrease. Make int add action in the enemy health fsm
before the destroy self action. Choose your enemy variable in the variable
section and make section add -1.
tiistai 14. helmikuuta 2017
UNITY FPS - Enemy
NAV16AP
3. jakso lukuvuonna 2016-2017
Now that
you have done player movement and shooting it’s time to create some enemies.
Before
creating the enemy, make some walls in your scene with different sized 3D
cubes.
For this
tutorial you’re going to need Playmaker ecosystem package. If you don’t have it
already download it. Open the ecosystem window and type in the
search pathfinding. Download and import the package.
Make every
wall and floor in your scene static by selecting that object and pressing the
static button. Open the navigation tool from the top tool bar under window.
Then go to navigation and press bake.
Create new
3D capsule and insert new fsm for it. This fsm will work as ai for the enemy.
Also make a new tag called enemy and tag your new capsule with it.
In the new
fsm the first state has action find game object.
Create new game object
variable and name it as Player object. Choose player tag as the tag and your
game object variable in store section. This state identifies and stores the
player object that can be used in later states.
Next state
will have 5 actions: smooth look at, raycast, set agent destination as game
object, set bool value and game object compare tag. For this, create a new game
object variable called test, game object variable called empty and bool
variable called insight.
Smooth look
at should have your player game object variable as the target object and make
finish distance 0 so the enemy will always look at the player.
Raycast on
z axis and choose in the hit object section your test object.
Set agent
destination as game object has you empty game object in the destination. Game object
compare tag compares your player test object to the player tag. Create event
called move and select it as the true event. Lastly
create action set bool value and select insight as the bool variable.
Next state has
also same 5 actions. This time use your player object as the destination in set
agent destination as game object. Game object compare tag will have finished in
the false event and insight bool value will be true.
Enemy will
need a health pool so that player can damage it. Create new fsm for the enemy.
The fsm
will need float variable called health and one event called death and second
event that is global called hit.
In first
state you need to set the health at 10. This is the max health the enemy has.
Next state will have action float compare. Choose float as your health variable
and for the equal and less than sections make it send the death event, which
will transition to a third state.
Third state
will have destroy self action.
You also
need fourth state which has the hit as global transition. In that state use float
subtract action and choose 1 as the amount to subtract.
Lastly make
some changes to the bullet movement fsm. Start by creating 3 new events: hit,
hit enemy and not enemy. Also create new game object type variable named Enemy.
In the first state add raycast action. Select the z axis to be the axis where
raycast happens and make the distance 0.9. Select hit in the hit event and your
enemy variable as the store hit object. Make a new transition named hit from the
first state to a new state.
Third state
will have game object compare tag action. Choose hit enemy and not enemy as
transitions in this state and link those to the true and false event sections.
Select your enemy variable as the game object and enemy as tag.
Fourth
state has send event by name action. Select game object fsm and specify game
object with your enemy object as the specified game object. Choose right fsm of
the enemy and send hit global event.
Tilaa:
Blogitekstit (Atom)