Showing posts with label sinhala. Show all posts
Showing posts with label sinhala. Show all posts

Saturday, November 17, 2018

Unity Tutorial Sinhala - Unity ගැන සිංහලෙන් ඉගෙනගමු - Scripting - 8

කලින් post එකේදි අපි කතා කරා animation parameters එක්ක වැඩ කරන්නෙ කොහොමද කියල. මගේ කලින් post බලල නැත්නම් අනිවාර්යෙන් ඒව බලල එන්න මොකද අද අපි කරන්නෙ ඉතා වැදගත් පාඩමක් නිසා. මේකෙදි අපට කලින් කරපු කොටස් අනිවාර්යයෙන් ඕන වෙනව.



ඉතින් අද අපි කතා කරන්නෙ Unity Scripting කරන හැටි. හරියටම කිව්වොත් game objects සහ අපි හදන game එකට script හරහා call කරන්න පුලුවන්. මෙතනදි වෙන්නෙ මෙහෙම දෙයක් ඔයාලට මතක ඇති අපි game objects අපේ game එකට add කරා. ඊට පස්සෙ ඒවට animations එකතු කරා. මේ animations වලට animation controller හරහා විවිධ state වලදි හැසිරෙන්න ඕන විදිය animation parameter මගින් වෙනස් වෙන්න ඕන විදිහ ගැන කතා කරා. ඒ උනාට මේව ක්‍රියාත්මක වෙන්න ඕන වෙලාව, ක්‍රියාත්මක වෙන්නෙ මොන inputs දුන්නහමද, ඒව වෙනස් වෙන විදිහ සේරම හසුරවන්නෙ script එක හරහා.

මූලික අවබෝධයක් දෙන්නම් scripting ගැන ප්‍රධාන කොටසක් නිසා. Unity වල scripting වලට default IDE එකක් දෙනව setup එක download කරනකොටම. ඒ Monodevelope IDE එක. භාවිතා කරන language එක C#. මුල්ම කාලෙ Unity version වල Java Script language එක use කරා unity ලට ආවේණික විදියට වෙනස් කම් කරල. ඒත් භාවිතයේ අඩුවීමත් එක්ක මේ language එක game engine එකෙන් ඉවත් කරල තියෙනව.

C# script එකක් add කරගන්නෙ මෙහෙමයි. මුලින්ම මම project panel එකේ scripts කියල folder එකක් හදාගත්ත. ඒක ඇතුලට ගිහින් right click කරල ලැබෙන menu එකේ Create->C# Script තෝරන්න.



ඊට පස්සෙ ලැබෙන  script එක player කියල rename කරගන්න.



මම player කියල මෙතනදි හදුන්වන්නෙ අපේ cube game  object එක. ඒක නිසා මම cube එකට මේ script එක එකතු කරන්න ඕන. ඒ නිසා game window එකේදි cube එක select කරන්න. ඊට පස්සෙ player script එක drag කරල inspector window එක උඩට drop කරන්න.



දැන් අපේ cube එකට player script එක add වෙලා තියෙන්නෙ. දැන් script එක double click කරන්න. එතකොට ඔයාලගෙ monodevelop IDE එක open වේවි. මම මගේ IDE එක VSCode වලට වෙනස් කරගෙන තියෙන්නෙ.(තමන්ට කැමති IDE එකකට හදාගන්න පුලුවන් Edit->Preference->External Tools හරහා).


මෙතනදි ඔයාලට පේනව player class එක MonoBehavior කියන namespace එක ඇතුලෙ තමයි create වෙන්නෙ. (namespace එක කියන්නෙ MonoBehavior Project එකක් කියල හිතන්නකො, ඒ project එක ඇතුලෙ තියෙන class එකක් තමයි player කියල හිතන්න)

මේකෙ start සහ update කියල methods දෙකක් පේනව ඇති. start method එකේදි වෙන්නෙ game එක start වෙනකොට මොනවද වෙන්න ඕන කියල කියන එක. update method එකේදි එන්නෙ game එක play වෙන හැම frame එකකදිම update වෙන්න ඕන දේවල් මොනවද කියල කියන එක.

දැන් මම script එක check කරන්න start method එක ඇතුලෙ print statement ලියනව Debug.Log("Hello world"); කියල. ඊට පස්සෙ script එක save කරගන්න.



දැන් play button එක ඔබන්න. එතකොට console එකේ ඔයාලට පෙනේවි hello world කියල print වෙනව.

හරි. දැන් මම අපි හදන game එකට අදාලව code එක පහල පේන විදියට වෙනස් කරගන්නම්.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class player : MonoBehaviour {
    public float player_speed;
    private Animator anim;
    // Use this for initialization
    void Start () {
        anim = GetComponent<Animator>();
    }
    
    // Update is called once per frame
    void Update () {
        player_speed = Input.GetAxis("Vertical");
        anim.SetFloat("speed",player_speed);
    }


මුලින්ම කියන්නම් code එක ගැන. මුලින්ම private Animator type එකක් අරගෙන anim කියල variable එකකට
declare කරගත්ත. මෙතනදි අපි Inspector එකේ animator එක තමයි අපේ script එකට ගත්තෙ.
ඊට පස්සෙ player_speed කියල float variable එකකුත් declare කරගන්න ඕන.

start method එකේදි GetComponent function එක හරහා අපේ Animator එකට call කරල තියෙනව.
මොකද හැම frame එකේදිම අපි set කරගත්ත speed කියන animation parameter එකට call කරන්න ඕන
SetFloat fucnction එක හරහා.

 player_speed = Input.GetAxis("Vertical"); මේකෙදි කියන්නෙ GetAxis function එකෙන් යන්න ඕන
දිශාව ගන්න එක. Vertivcal කියන්නෙ සිරස් අක්ෂය හරහා unity standard ලබාදෙන keys(ඕනම game එකක)
forward(ඉදිරියට යන්න) w හරි up Arrow එක හරි.

දැන් unity වලට ගිහින් play button එක ඔබල බලන්න. දැන් W key එක press කරන්න එතකොට අපේ
animation එක වැඩ කරනව ඔයාලට පෙනේවි.

ඉතින් අද මම කතා කරේ unity scripting ගැන. මේ ගැන ගොඩක් දේවල් ඔයාලත් හොයල බලන්න.
scripting වලට අදාලව ගොඩක් predefined functions තියෙනව unity වල. ඒව කරල practice වෙන්න. ඔයාලගෙ comments, ප්‍රශ්න තියෙනවනම් පහල comment section එකේ දාන්න. ඔබට ජය!

Saturday, October 27, 2018

Unity Tutorial Sinhala - Unity ගැන සිංහලෙන් ඉගෙනගමු - Animator Controller - 6

ඔයාලට මතක ඇති අපි ගිය සතියෙ අපි හදාගත්ත game object එකට එහෙමත් නැත්නම් box එකට animation එකක් එකතු කර ගත්ත.තාමත් ඒ post එක බලල නැත්නම් මෙතනින්  බලන්න පුලුවන්. ඒත් තවම අපි මේ animation එක අපේ game එකට එකතු කරගත්තෙ නෑ. ඒ ගැන තමයි මේ post එකෙන් කියන්න යන්නෙ.



මේ animation අපට එකතු කරගන්න වෙන්නෙ Animator Controller එකක් හරහා. මේකෙන් වෙන්නෙ මෙහෙම දෙයක්. අපි game එක start කරනකොට, game එක ඕනම state එකක තියෙන කොට අපට අවශ්‍යය animation එක කරගන්න මොනවහරි key එකක් ඔබන්න, එහෙම නැත්නම් mouse click කරන්න වෙනව. ඉතින් මේකට අපට script එකක් ලියන්න ඕන. එහෙමත් නැත්නම් animation එකක් auto play වෙන්න. script එකයි animation එකයි අතර සම්බන්ධතාවය හදන්නෙ මේ animation controller එක හරහා.

Animator Controller එකක් add කරගන්න මුලින්ම project window එකේ Asset folder එක යටතේ Animator කියල folder එකක් හදා ගන්න. දැන් ඒක ඇතුලට ගිහින් right click කරල ලැබෙන menu එකේ
Create->Animator Controller තෝරන්න.




ඊට පස්සෙ පහල පේනව වගේ file එකක් හැදෙනව. ඒක තමයි අපේ box එකට අදාල Animator Controller එක. ඒක double click කරන්න.


දැන් අපට පෙන්නන්නෙ මේ Animator Window එක. ඒකෙ state දෙකක් තමයි මේ පහලින් ඔයාලට පේන්නෙ. එකක් Any State එක. ඒකෙන් කියන්නෙ අපේ game asset එක ඕනම state එකක ඉන්න වෙලාවට මොනවද කරන්න ඕන animation කියල. අනිත් එක Entry එක. ඒකෙදි වෙන්නෙ game එකට enter වුන ගමන් මොනවද වෙන්න ඕන animation කියල.


අපි දැන් අලුත් state එකක් ගන්න ඕන. එකට ඔය තියෙන base layer එකේ ඕන තැනක් click කරල Create state -> Empty දෙන්න.


දැන් ඒ state එකේ නම වෙනස් කරගන්න forward පහළ රවුම් කරල තියෙන තැනින්.



දැන් අපේ animation එක මේ state එකට add කරගන්න ඕන ඒකට aniamtion folder එකට යන්න project window එකේ තියෙන. දැන් ඒ animation එක drag කරල state එකේ motion box එකට animation file එක ඇදල දාන්න.




















දැන් hierarchy window එකෙන්  cube එක select කරගන්න. දැන් ඒකට අදාළ inspector  එක දකුනු පැත්තෙන් වටෙනව.


දැන් Animator folder එකට යන්න. ඒකෙ තියෙනව නේද අපි හැදුව Animator Controller එක ඒක ඇදල දන්න cube එකේ inspector window එකට. එතකොට මොකද වෙන්නෙ, අපේ Animator Controller එක cube එකට වැටෙනව.


දැන් play button එක ඔබල බලන්න game එක පටන් ගන්නකොටම cube එකේ animation එක වෙනව ඔයාලට පෙනේවි. මෙතනදි ඇත්තටම වෙන්නෙ අපි entry state එකේ ඉඳල forward state එකට animation එක මාරු වෙන එක.



හබැයි අත්තටම අපට කරගන්න ඕන ඒක නෙමෙයි. අපිට ඕන එක state එකක ඉඳල තව state එකකට මාරු වෙන්න key එකක් press කරාට පස්සෙ. ඒක කරන්නෙ කොහොමද කියල බලමු අපි ඊලඟ පාඩමේදි. මේකෙදි මොනවහරි ප්‍රශ්නයක් ආවනම් පහලින් comment කරන්න. ඔබට ජය!

Saturday, October 20, 2018

Unity Tutorial Sinhala - Unity ගැන සිංහලෙන් ඉගෙනගමු - Unity Animation - 5

ඔයාලට මතක ඇති අපි පහුගිය post එකෙන් කතා කරේ game objects එකතු කරල unity environment එක හදාගන්නෙ කොහොමද කියල. අද අපි බලමු ඒ game objects වලට animation එකතු කරගන්නෙ කොහොමද කියල.කලින් post එක බැලුවෙ නැත්නම් මෙතනින් බලල එන්න පුලුවන් ඔයලට.



Unity වලදි අපටම Animation හදාගන්න පුලුවන් විදියට එයාල අපට options දීල තියෙන්න, ඒ කියන්නෙ game object (ex:- box) එකක position වෙනස් කරගන්න, rotate වෙන්න, ප්‍රමාණය වෙනස් කරගන්න වගේ පොඩි පොඩි වෙනස් කම් මෙකෙදි හදන්න පුලුවන්. (උදහරණයක් ලෙස අපට  Car එකක් ඉදිරියට පිටුපසට යවන්න ඕන) ඒ වගේ animation මෙකෙදි හදන්න පුලුවන්. ඒ වුනට මිහිහෙක් ඇවිදින animation එකක්. දුවන animation එකක් වගේ complex animation නම් මේකෙන් හදන්න අමාරුයි. එතනදි අපට Autodesk Maya, 3dx Max, Blender වගේ ලොකු software අපට භාවිතා කරන්න වෙනව.

අපි අද බලමු අපි ගිය සතිය create කරපු box එකට animation එකක් දාන්නෙ කොහොමද කියල. 



මුලින් අපට animation එක දාන්න ඕන object එක ඒ කියන්නෙ box එක select කරගන්න.ඊට පස්සෙ window -> Animation -> Animation තෝරන්න.(පහල රූපයේ පරිදි)



එතකොට ඔයාලට මේ animation window එක දකින්න ලැබෙවි. ඒකෙදි create තෝරන්න. 


ඊට පස්සෙ අපේ animation එක save කරගන්න window එකක් ඒවි. එතනදි අපි කැමති තැනක animation එකට නමක් දාල අපට save කරගන්න පුලුවන්. මම මෙතනදි animation කියල folder එකක් හදල, අපි හදන්න යන්නෙ box එක ඉදිරියට යන animation එකක් නිසා forwardAnimation කියල .anime file එකක් විදියට save කරගත්ත.


හරි, දැන් අපි animation එක දාන්න ඕන. ඒකට මම මේ නිල් පාටින් රවුම් කරල තියෙන රතුපාට බොත්තම ඔබල box එකේ පිහිටීම scene window එකෙන් වෙනස් කරගන්න. එතකොට ඔයාලට පෙනෙවි time එක  0 දි key frame එකක් වැටේවි. 



ඊට පස්සෙ cursor එක 1 වෙනි විනාඩියට තියල click කරන්න. එතකොට සුදුපාට ඉර 1 වෙනි විනාඩියට එනව. දැන් box එකේ පිහිටීම වෙනස් කරන්න ඉදිරියට යනව වගේ box එක ඉදිරියෙන් තියල.



දැන් මේ play button එක ඔබල බලන්න ඔයලට box එක ඉස්සරහට යන animation එක play වෙනව පෙනේවි. දැන් animation window එක close කරන්න.



ඔයාලට project window එකේ animation කියන folder එකේ ඔයාලට බලාගන්න පුලුවන් අපි හැදුව animation එක පහල රූපයේ වගේ.



තාම animation එක හැදුවට game එකට මේ animation එක දැම්මෙ නෑ. ඒක අපි බලමු ඊලඟ post එකෙදි. මේක ටිකක් වරදිනව වගේ නම් ගනන් ගන්න එපා. මං youtube video එකකුත් කරන්නම් මේ ගැන ඉක්මනටම. ඒකෙදි මම forward එකට වගේම box එකේ අනිත් animation(turn left, turn right) කරන්නෙ කොහොමද කියලත් කියන්නම්.

ඔයාලගෙ comments, ප්‍රශ්න තියෙනවනම් පහල comment section එකේ දාන්න. ඔබට ජය!


Friday, October 12, 2018

Unity Tutorial Sinhala - Unity ගැන සිංහලෙන් ඉගෙනගමු - Create a game project - 4

කලින් කිව්ව වගේ අද අපි අපේ Game එක හදන්නයි යන්නෙ මේ tutorial එක මුලින් බලන කෙනෙක්නම් ඔයාලට මෙතනින් මගේ පලවෙනි tutorial එකේ ඉඳල tutorials ටික බලල unity background එක ගැන idea එකක් ගන්න පුලුවන්.


ඇත්තටම එක post එකකින් සම්පූර්ණ game එකක් හදන්න අමාරුයි. මොකද game එකක් හදනකොට modeling, scripting, animation, lightning වගේ ගොඩක් දේවල් කරන්න ඕන. ඒක නිසා මේව වෙනම කොටස් වශයෙන් ඉදිරි post වල ඔයාලට බලන්න පුලුවන්. අද අපි බලමු game එකේ පරිසරය හදගන්නෙ කොහොමද, කැමරා place කරන්නෙ කොහොමද කියල.

හරි, මුලින්ම unity, open කර ගමන් ඔයාලට පේන්නෙ මේ පහල තියෙන window එක.


එතනින් ඔයාලට project name එකට කැමති නමක් දෙන්න ඔයාල හදන project එකට අදාළව. ඊට පස්සෙ project එක save කරන්න ඕන තැනත් දෙන්න. සාමාන්‍යයෙන් unity project, save වෙන්න unity තෝරල තියෙන්නෙ My documents වල. ඊට පස්සෙ project එක 3D එකක්ද එහෙමත් නැත්නම් 2D එකක්ද කියල තොරන්න ඕන. අපි දැන් කරන්නෙ 3D project එකක් නිසා 3D තෝරන්න. ඊට පස්සෙ Create Project තෝරන්න.


එතකොට උඩ රූපයේ පේනව වගේ project එක ඇවිත් ඇති Untitled කියල scene එකත් එක්ක. අපිට default දෙනව Main camera එකයි Directional Light එකයි scene එක යටතේ. මුලින්ම ඔයාල scene එක save කරගන්න කැමති නමකින් files -> Save Scene (මම Scene එක save කර්ල තියෙන්නෙ  "3" කියල )තෝරල.


ඉහල පේනව වගේ scene window tab එක තෝරල අපි game එක build කරන scene එකට යන්න ඕන.

ඊට පස්සෙ game එක හදන්න game objects ගන්න ඕන. අපිට cube එකක් ඕන කියමු.


GmeObject -> 3D object -> Cube තෝරන්න. ඒ විදියට ඔයාලට කැමති GameObject එකක්(sphere,capsule,cylinder,plane etc) අපේ Scene එකට එකතු කරගන්න පුලුවන්.


දැන් මේ cube එකට වෙනස්කම් කරන්න පුලුවන් W(cube එකේ පිහිටීම වෙනස් කරන්න), E -(cube එක හරවන්න), R - Cube එකේ size එක වෙනස් කරන්න. හරි අවශ්‍ය විදියට හදාගත්තට පස්සෙ Game objects වලින් Plane එකකුත් ගන්න cube එක ගත්ත විදියටම.


දැන් ඔයාලට මෙන්න මේ විදිහයට තමයි පේන්නෙ. scene window එකේ එහෙම පෙනුනට ඇත්තටම  game එක play button එක ඔබල play කරොත් ඔයාලට එහෙම පේන එකක් නෑ. මොකද තාම Main camera එක අපිට game එකේ පේන විදියට හදාගන නැති නිසා. ඒකට Main camera එක select කරන්න hierarchy window එකෙන් .


ඊට පස්සෙ Main camera  එක scene window එකේදි W key එක ඔබල පිහිටීම වෙනස් කරන්න අපි ගත්ත cube එක පේන විදියට.


මම හදා ගත්ත විදිය තමයි ඔයාලට ඉහලින් පේන්නෙ. scene window එකේ camera preview එකෙන් අපිට බලන්න පුලුවන් Main camera එකෙන් Game එක පේන ආකාරය. ඒ විදියටම Game window එකෙනුත් අපට පේනව. දැන් scene window එක ඉහල play mode වලින් play කරල බලන්න.



එතකොට Game එක පේන ආකාරය game window එකෙන් බලාගන්න පුලුවන්.(ඉහත ආකාරයට)

මං හිතන්නෙ දැනට ඔයාලට idea එකක් ඇති  Game objects කොමහොමද game එකේ පෙනෙන ආකාරයට place කරන්නෙ කියල. ඊලඟ tutorial එකෙන් බලමු Game objects වලට animation එකතු කරන්නෙ කියල.

ඔයාලගෙ comments, ප්‍රශ්න තියෙනවනම් පහල comment section එකේ දාන්න. ඔබට ජය!

Battle Zone - Legacy Reborn(TRON Game) Game Review & Download setup #free

ඔන්න ඉතින් අදත් ඔයාලත් එක්ක මං එකතුවෙන්නෙ ලංකාවෙ හදපු සුපිරිම ටිකක් වෙනස්ම විදියෙ Unity Game එකක් එක්ක. මේකෙ නම Battle Zone - Legacy ...