Oke kita akan bikin full game di sini pertama kalian buka Unity hub dulu buat kalian yang belum tahu apa itu Unity hub kalian bisa cek di deskripsi akan ada link Bagaimana cara download Unity hub dan menginstal Unity engine nah ketika kalian udah menginstal Unity engine sekarang kalian bisa buka Unity hub dan di sini new Project lalu di sini kalian klik yang 3D ini buildin render pipeline Oke kita akan bikin game 3D lalu namain aja projject Sesuka kalian lalu di sini lokasinya lalu ini kita ancentang connect to Unity Cloud Oke kalau udah kalian bisa Klik create Project lalu ini bisa kalian silang aja Maka nanti akan muncul Unity engine seperti ini kita tunggu dulu loadingnya Ini agak lama Oke kalau kalian sudah buka Unity Project gini kita samakan dulu yuk tampilannya dengan klik ini layout ini lalu default oke sekarang tampilan kita udah sama nah buat kalian yang belum tahu basic Unity seperti Gimana cara ngelihat-ngelihat kayak gini gimana cara bergerak seperti ini desin-nya Apa itu game apa itu scene Apa itu ini semua inspektor hierarki kalian bisa cek lagi Link yang ada di deskripsi di situ ada video penjelasan mengenai basic Unity Oke kalau udah kalian sudah paham bisa navigasi seperti ini sekarang kita mau ke kembali ke Unity hub dulu Oke jadi kita coba kembali sebentar ke Unity hub sebentar saja untuk memastikan lalu kalian ke install Nah di sini kan kalian sudah punya Unity kalian tuh Kalian cek Unity kalian di sini di setting lalu add modules lalu di sini pastikan Microsoft Visual Studio ini udah install ya karena kita mau bikin gamennya pakai coding codingnya nanti pakai Microsoft Visual Studio ini ini pastikan udah install kalau belum kalian bisa instal dulu oke kalau udah sekarang kita kembali lagi ke unity-nya terus kita pergi ke edit ya lalu ke cari di sini ernal preferences oke preferences dulu bukanal preferences lalu baru exnal nah ini external tools kalau udah pastikan di sini ya external script editornya adalah Microsoft Visual Studio oke oke sip kalau udah sekarang kita mau bikin sesuatu yang simpel dulu kita di sini mau game ini kita pindahkan ke sini kita doc ya oke kayak gitu ya jadi kan Eh sekarang kita punya tampilan game sama tampilan scene nah tampilan game-nya ini kita membuat free aspeknya ini jadi full HD 1920 Kal 1080 Oke sip Oke kita Scroll out Scroll out Scroll out Oke kalau udah sekarang di sini ah di sample scene Ini kan ada objek main kamera ada objectek directional light di sini kita buat object plain 3D object jadi Klik Kanan 3D object plane nah plane ini adalah alasnya gitu ini kita reset dulu posisinya nih ini kita klik yang titik 3 ini lalu reset Nah sekarang dia pl-nya ada di tengah ya posisinya nol semua rotasinya no0 scale-nya satu oke sekarang PL ini kita besarin yuk scale-nya caranya bisa dengan kalian pencet r atau kalian klik ini Oke kalau udah sekarang ini tinggal kita gedein ya mungkin di sini aku mau buat ini scale-nya ini ya Ini adalah 555 5 5 5 Oke kalau udah seperti ini kita mungkin bisa bermain-main dengan material jadi di sini kita bikin foldel Klik Kanan create cari di sini folder oke namain di sini adalah resources Oke di resources ini kita mau Klik Kanan lalu create lalu material namain aja materialnya ini adalah ground material Oke di ground material ini kita bisa cari ini albido kita klik ini ini adalah teksturnya nah ini teksturnya kita mau pakai tekstur kotak-kotak ini ya ini ya checker greay oke sekarang teksturnya udah kita masukin ground material ini ke plane nah tuh sekarang kalian lihat plane-nya udah punya tekstur sekarang ground materialnya ini kita naikkan ini tilingnya Oke kita naikkan X tilingnya Jadi mungkin 50 kemudian y-nya jadi 50 Nah sekarang kalian bisa melihat ple kita atau ground kita udah kayak papan catur oke oke sekarang kalau kita udah punya kayak gini ya kita bisa save dulu oke sekarang ini directional light-nya kita bisa atur warna lighting-nya Sesuka kita ini aku buat putih aja Warnanya oke kalau udah sekarang kita mau buat buat dulu karakter kita let's say karakter kita kapsul ya jadi di sini Klik Kanan 3D object kapsul Oke ini kapsul kita kita reset dulu posisinya Oke sip Oke pertama-tama kalian harus biasakan gini dalam game kalian harus buat dulu di sini Klik Kanan empty object nah empty object empty object ini ya Enggak ada apa-apa tuh cuma cuma Akis tok kayak gini Tok Nih kayak gini Oke nah empty object ini kalian reset dulu posisinya lalu empty object ini kalian namain player oke oke ya player berarti ini enggak ada apa-apanya ya dia empty nah Kapsul Kapsul ini kan dia kapsul nih ya kan dia kayak sebuah grafik-grafik kapsul Nah maka kapsul ini kita masukkan ke dalam player Oke nih kita masukkan kayak gini Jadi sekarang player punya anak kapsul jadi kapsul ini namanya Child atau anak player ini adalah parent atau ya orang tua gitu ya jadi kapsul ini kita reset posisinya klik ini lalu reset Oke sekarang kita hapus kapsul collider-nya oke nah sekarang hijau-ijunya akan hilang buat kalian yang bertanya kapsul collider ini apa ini tuh kayak heatbox gamer-gamer nyebutnya dengan hebox Nah kita enggak mau taruh heatboxnya di sini nih di sini dia cukup MH renderer aja Mesh renderer itu adalah grafik jadi kapsul ini cukup grafik aja hatatbox-nya kita taruh di player gitu jadi nanti kita taruh hebox-nya di sini jadi di kapsul kalian Hapus kapsul collider-nya Terus kalau udah kapsulnya ini kalian naikkan nah ini posisi y-nya kalian naikkan sampai segini ya sampai dia di atas nih jadi y-nya satu By the way kalian bisa naikkan dengan snap kayak gini nih kayak aku naiknya snap ya ini dengan pencet conttrol hold ctrl ctrl dihold sambil kalian gerakin ininya nanti dia akan lebih snapy gitu Oke kalau udah sekarang namain aja kapsulnya ini gfx ya itu singkatan dari grafik ini grafik kita gitu karena nanti kapsul ini akan kita ganti dengan model model player gitu loh model orang asli gitu Oke kalau udah sekarang player ini kalian kasih komponen yang namanya karakter controller nah kalian lihat ketika kita ngasih komponen karakter controller akan ada hijau-ijau ini nih ini hatbox kita nih gitu nah hatboxnya belum pas nih oh ya By the way kalian pastikan ini menyala ini gismo ini namanya gismo ya gismo gismo ini menyala supaya kita bisa melihat hitboxnya ini Oke Nah tinggal kita Pasin deh nah By the way kita bisa klik ini ya ini eh view port-nya kemudian kita bisa select player-nya lalu kita klik F Desin Nah untuk fokus oke lalu kita bisa sesuaikan karakter controller hatbox ini kita naikkan y-nya oke y-nya di sini kalau aku adalah di satu oke Nah mungkin ini udah cukup nih udah pas ya kemudian skin wid-nya kita bikin paling rendah kita kita ini aja kita Arahkan ini kan lalu kita tarik ke kiri Nah itu ah paling rendah gitu oke deh oke sekarang ya teman-teman ya di sini kita mau bikin script nih supaya kapsulnya ini bisa bergerak-gerak By the way mungkin kita Arahkan dulu deh kameranya Yuk jadi kamera ini ya kalian Ah tahu ya gerak-gerak kayak gini pencet apa jadi Klik Kanan wasd ya kalian harusnya udah nonton di basic Unity Oke main kamera ini kita pindahkan dulu main kamera ini kita pindahkan ke atas Oke ke kemudian kita arahin kayak kamera-kamera pada umumnya lah mungkin kayak gini Oke mungkin ini kita turunin dulu ke bawah By the way ini pencet e ya kalian harusnya udah tahu karena udah nonton video yang basic Unity itu oke yang ada di link di deskripsi Oke kita Arahkan kameranya kayak gini ya Jadi ini gambar kita nanti ketika kita main Oke nih jadi kalau sekarang kita klik play Oke maka enggak akan ada apa-apa gitu Gak akan ada apa-apa ya kita baru ngelihat game Mati by the way kalau kalian klik Play maka akan ada loading kayak gini ya nah oke supaya enggak ada loadingnya biar cepat kalian bisa ke edit lalu bisa ke project setting lalu ke editor lalu di sini Kalian cari ini enter play mode option kalian centang reload scene kalian centang reload domain kalian uncentang Jadi sekarang kalau kalian play Nah itu langsung cepat enggak pakai loading Oke deh Sekarang kita bikin script supaya playernya ini bisa bergerak Oke jadi di sini kita create folder dulu oke namain foldernya scrips oke Oke di scrips ini kita Klik Kanan create namain si subscript namain aja di sini player Movement seperti ini Oke player Movement gitu ya kita tunggu sebentar Dia lagi compiling script-nya oke lalu kalau udah kita bisa ke player kita klik Nah di sini di inspektor ini ya kalian Drag and drop script-nya kayak gini Oke Drag and drop kayak gitu Oke kalian harusnya Ah tahu ya ini hierarki ini Inspector ini tab game ini tab scene kalau kalian belum t aku anjurkan kalian harus nonton dulu video yang ada di link di deskripsi mengenai basic Unity Oke kalau udah sekarang kita tinggal klik-klik ini scriptnya Oke bisa lewat sini juga klik kliknya klik klik oke dia akan Buka Microsoft Visual Studio yang mana kalian juga udah harus instal kalau kalian Belum instal Microsoft Visual Studio kalian bisa coba Tonton dulu di deskripsi ada video mengenai cara instal Unity yang baik dan benar oke oke nah di sini Kalian juga udah paham coding Unity belum Oke kalau kalian belum paham coding Unity kalian bisa cek di deskripsi itu ada basic coding Unity ya di deskripsi ada basic coding Unity kalian tonton itu dulu karena di sini kita mau langsung bikin game-nya pertama-tama ini mau kita delete dulu aja oke aku anggap kalian sudah paham basic coding Unity kalau belum kalian Tonton dulu di deskripsi di sini kita tulis dulu public ya public Oke karakter controller kemudian namain aja controller oke nah ini kita tuh mauembuat variabel tipenya karakter controller nama variabelnya controller Nah ini apa Jadi gini ini kita minimize Oke dia loading sebentar Nah sekarang kalau kalian klik player nah ini akan ada variabel controller ya kan sesuai yang kita buat nih namanya controller tipenya karakter controller dan ini public jadi nah ini kita bisa masukkan karakter controller kita ini ke sini nah gitu ya karena nanti kita akan bergerak menggunakan karakter controller ini nih gitu Oke kita udah assign nih ya karakter controllernya udah kita masukkan kayak gini sekarang tinggal kita di sini bikin lagi variabel namain di sini mungkin public Float ya kemudian move speed Oke kayak gini public Float move speed lalu di sini nanti akan muncul Nah ini wah move speed kita bisa atur mungkin move speed kita adalah ya let's say 5 seperti itu Oke jadi di sini kita mau kembali lagi ke code Nah di sini kita mau tulis update nah ini akan ada update langsung kita klik tab nah akan muncul fungsi private void update ya ini fungsi ya Nah di void update ini kita mau buat dulu variabel untuk ng-estore input eh wasd kita jadi gini kalian boleh lihat di sini ini buat contoh aja ya kalian bisa tulis di sini public Float input eh let's say input ad gini ya input ad lalu di sini kalian tulis public Float input input WS gitu ya oke Nah di sini teman-teman ya input ad kalian tulis input ad di vo update ini sama dengan input oke dget Ais oke di sini adalah horizontal ingat penulisannya harus sama enggak boleh beda harus sama kayak gini ya Hnya besar yang lainnya kecil horizontal kayak gini harus sama kemudian selanjutnya input WS Oke sama dengan input oke dot get Ais oke di sini adalah vertikal oke nah kalian ikutin dulu Nanti aku jelasin Oke kayak gini ya sekarang kita minimiz kita lihat nih kalian lihat ada input ad ada input WS ini 0 sekarang kalau aku play Oke nih kalian lihat ni kalian lihat nih kalian perhatikan input ad sama WS kalau aku pencet a tuh input ad berubah jadi 1 kalau aku pencet D tuh dia berubah jadi S Jadi kalau aku pencet a dia -1 kalau aku pencet D dia jadi 1 sekarang ws-nya WS kalau aku pencet W dia berubah jadi 1 kalau aku pencet S dia berubah jadi -1 Oke kalau aku wasd nah dia berubah-berubah tuh nilainya tuh nah ini teman-teman nilai ini nanti yang akan kita gunakan gitu loh nilai ini kita gunakan untuk membuat karakter ini bisa bergerak gitu logikanya jadi gini ketika aku pencet a maka kan dia -1 tuh nah ketika -1 ini kita akan membuat posisi x player ini semakin -1 -1-1 -1-1-1 gitu terus paham ya oke oke belum paham aku ulangi lagi aku ulangi ini player nih Player di sini nih kalau player mau maju logikanya berarti kan sumbu z-nya ini kita gerakkan ya kan Ini loh sumbu z posisi z-nya ini kita gerakkan ya kan Nah untuk menggerakkan posisi Z ini kan kita butuh penambahan nilai tuh ya kan nah penambahan nilainya inilah yang kita ambil dari input WS ini karena kalau kita klik W input WS akan berubah jadi satu Maka kalau kita klik W di input WS ini maksudnya nanti kita akan tambahkan nilai input WS ini ke sumbu z ini kalau dia bertambah satu Terus kan artinya dia maju ke depan gitu loh Tapi kalau aku klik S maka input WS jadi -1 artinya nanti sumbu z ini kalau kita pengaruhi nilainya dengan input WS dia akan -1 terus -1 dia ke belakang logikanya gitu paham ya oke Oke kalau udah paham sekarang ini untuk visualisasi aja jadi kita sekarang ini hapus publicnya yang untuk Float input ad input WS itu hapus publicnya Oke jadi tinggal Float aja maka dari itu sekarang Kalau udah enggak ada publicnya dia ggak akan muncul di sini oke karena dia jadi variabel private oke terus kemudian Eh ini bisa kita eh Cut ya ctrol X ya cut ya ctrl X kayak gini kita masukkan di dalam sini nah kita masukkan di sini oke oke Ini aku rapikan dulu oke oke sip sekarang di sini kita bikin lagi di sini yang namanya Vector 3 ya input wasasd kayak gini Oke Vector 3 input wasasd oke di sini kita tulis input waasd sama new Vector 3 oke lalu di sini input WS eh sorry eh horizontal itu input ad kemudian 0 kemudian input WS Oke Nah di sini Mungkin kalian bingung ya di sini kalian bingung ini maksudnya apa ini Bang jadi kayak gini e mungkin ini aku visualisasikan dulu jadi ini input wsd aku Cut Oke aku taruh di atas sini oke terus aku buat public biar kalian bisa melihat visualisasinya oke Sekarang gini kalian Perhatikan ya ini aku minimize nah sekarang kita punya input wsd x y z oke sekarang kalau aku klik play aku klik a Nah itu kalian lihat tuh x-nya jadi -1 aku klik D x-nya jadi 1 aku klik W Oke z-nya jadi 1 aku klik S z-nya jadi -1 aku klik WD maka ini aku lebarin deh nah ini aku klik waasd maka xz-nya berubah-rubah Nah kalau kalian ingat untuk menggerakkan player tadi yang bergerak itu cuma x sama z-nya nih aku gerakkan player nih kalian lihat nih X z-nya nih berubah-berubah tuh tuh ya kan berubah-berubah sama halnya dengan input WD nih kalau aku klik WD maka xz-nya berubah-berubah Nah jadi gini teman-teman kita kembali ke script jadi input waasd ini merupakan vektor 3 yang memiliki nilai x y dan Z oke nah untuk buat nilai vektor 3 kita perlu tulis New vecttor 3- X Y dan Z x-nya kita Store dengan variabel input Ad yang mana input ad itu akan mengambil nilai horizontal atau a sama D kemudian y-nya kita Store 0 karena kalau kita mau bergerak itu kan enggak ada ke sumbu y kan atau ke atas bawah ini loh sumbu y itu kan ke atas bawah kayak gini nih Nih kan enggak ada kan kita bergerakkan cuma ke sumbu x sama Z ke samping sama depan belakang gitu maka kita cukup Store x-nya input ad z-nya input WS yang mana input WS itu vertikal vertikal itu artinya ya W sama S Loh kok bisa gitu Bang jadi gini kalau kalian ke Unity ke edit ke project setting lalu kalian ke cari di sini input Manager mana input Manager nah ini input Manager lalu akses ini kalian buka Nah di sini akan ada akses horizontal sama akses vertikal sama enggak nih horizontal vertikal penulisannya pun juga sama kan Nih horizontal vertikal nah horizontal kita buka maka di sini akan ada a sama D left left sama right left right ini adalah arrow Arrow yang kanan kiri itu loh rrow oke kemudian di sini kalau kita buka yang vertikal maka di sini apa s sama W ini ini up down ini row row yang ada di kanan itu kan ada row up sama down left sama right nah ini s sama W jadi paham ya sekarang ya kenapa kalau di kodenya ini nih kalau di sini input get Ais horizontal akan memberikan nilai ad kemudian input get Ais akan mendeteksi nilai eh sorryi keyboard WS kalau ditekan ya vertikal ini akan mendeteksi keyboard WS itu karena ini tadi karena vertikal isinya nih s sama W kemudian up sama down Jadi kalau semisal ini kalian play dan kalian klik e yang arrow panah-panah itu maka juga akan berubah nih ini aku enggak pencet wasd tapi aku pencet yang panah itu loh panah Keyboard itu loh Nah ini dia berubah sama gitu asal usulnya dari situ teman-teman dari edit Pro setting input Manager lalu dari nama-nama akses ini horizontal punya ad vertikal punya WS gitu oke deh kita lanjut lagi biar cepat sekarang kita sudahah paham ini Oke ini aku kembalikan ya berarti ini aku hapus publicnya lalu aku Cut ininya conttrol X aku taruh di sini oke sip sekarang tinggal Gimana cara bikin E karakternya itu player kita bergerak caranya gini teman-teman kan kita udah punya nilai pergerakannya yang mana di input wsd ini nilai input pergerakannya tinggal kita di sini tulis apa controller kita tuh mau menggerakkan controllernya karakter controller ini ya Ini loh karakter controller ini karakter controller Ini tuh kayak motornya gitu loh motornya yang bikin sebuah objek tuu bergerak jadi di sini kita mau tulis controller do move Oke controller.mve kita mau move ke mana nih kita mau move menggunakan apa input wasd ya kita mau move menggunakan input wasd kemudian input wasd kita mau kita kalikan dengan move speed Oke Paham ya Sampai sini ya Jadi kalau sekarang kita minimize kemudian kita play kita bisa w tuh gerak itu banter banget tuh jadi kalau move speed-nya kita bikin 0,1 deh Maka nanti Nah itu kita bisa ngelihat ya karakter kita bergerak ini kita naikkan tambah bantereng gitu ya Nah kalau kalian perhatikan lagi nih Ini loh kalian perhatikan posisi x sama z-nya player tuh nah itu berubah-berubah tuh berubah-berubah aku maju pencet w maka z-nya naik semakin positif aku pencet S maka dia mundur dan z-nya semakin negatif begitu juga untuk yang x-nya untuk ad-nya gitu cuma teman-teman ya ya paham ya logikanya kita mau move menggunakan input wsd kita dikalikan dengan move speed kemudian di sini kita kali lagi kita kali dengan apa time.dta time nah time.dta time ini apa Jadi gini di setiap komputer pasti punya spek berbeda-beda let's say kamu main GTA 5 di laptop RAM 4 gig pasti beda dong fps-nya ketika kamu main GTA 5 di laptop RAM 32 gig beda dong fps-nya akan lebih tinggi yang laptop RAM 32 gig Nah karena FPS di setiap komputer ini bisa beda-beda dan gamennya juga ke kebutuhan e speknya beda-beda maka di sini untuk menyamakan semua FPS itu biar enggak ee enggak beda-beda kecepatan pergerakannya maka di sini kita perlu kali time. Delta time masih bingung Jadi gini let's say ini kan kita enggak kasih kali time. Delta time kayak gini ya tanpa time do Delta time nah ini jadi di sini aku kasih nilai satu di Komputerku nih dengan RAM 16 gig maka dia akan sebanter ini tuh banter kayak gini tuh sampai banter banget kalian tadi lihat kan banternya tuh tu b w tuh kayak gitu tuh tapi nanti ini kalau semisal game ini dimainin di komputer yang lebih kentang yang cuma pakai RAM 2 gig dengan nilai move speed sat ini mungkin nanti kecepatannya beda mungkin bisa aja dia lebih lambat gitu loh dia lebih lambat mungkin paling kecepatannya Cuma segini gitu kalau di komputer RAM 2 gig tapi kalau di Komputerku RAM 16 gig dengan move speed 1 dia bisa kayak gini nih tuh bisa banter Nah untuk menyelaraskan semua pergerakan ini tanpa memandang spek komputer maka kita kita perlu di sini Tulis time.dta time gitu untuk menyelaraskan fps-nya gitu teman-teman Oke jadi sekarang Nah kan dia udah lebih lambat jadi di sini kita perlu mungkin kali ya let's say 50 lah kecepatannya oke oke Misalnya 50 kebanaran kalian bisa sesuaikan sendiri oke sekarang kalau udah seperti itu teman-teman kita membuat kameranya Ini ngikutin playernya caranya gimana gampang aja kalian ingat gak ini gfx ini kan kapsul nih Nah ini ini kan kapsul nih ya kalau aku playernya ini aku gerakin otomatis kapsulnya ikut ngikut ke pergerakan player karena kapsulnya ini adalah Child dari player ada di dalam player ya Jadi kalau gitu logikanya kalau main kamera ini aku masukin ke player kayak gini ya Jadi sekarang player punya gfx sama main kamera maka ketika aku gerakin playernya kameranya akan ngikut gitu teman-teman jadi sederhananya gitu nih Nah itu tuh kameranya akan ngikut kayak gitu kan Nah Sip Oke deh kalau gitu sekarang tinggal kita buat gimana nih semisal ya let's say kameranya kita bikin enak lagi deh kita bikin kameranya Ini dia agak ke atas kayak gini Oke mungkin e Top Down kayak gini ya Nah kayak gini Oke nih By the way ini aku pakainya sumbuh lokal kalian harusnya sudahudah tahu ini ya kalau kalian udah tahu basic Unity Oke ini kayak gini teman-teman Oke sip sekarang aku membuat kapsulnya ini e ya let's say lebih cantik lagiah kita bikin lagi di sini mungkin e ada sphere 3D object sphere nah ini speere Jadi spere ini kita delete spear collider-nya sorry ini kepencet Oke spear collidernya kita remove kemudian spar-nya ini aku naikkan di sini let's say ini kayak kepalanya gitu ya kayak kepalanya kayak gini Oke kemudian let aku membuat senjatanya deh kayak mungkin untuk ini aku namain aja head gini ya terus kemudian ini bukan gfx tapi body oke Kemudian untuk senjatanya kita buat lagi di sini kita pakai apa ya kita pakai silinder deh nah ini silinder aku hapus lagi kapsul collidernya Oke silinder ini aku rotate Nah kayak gini nih oke mungkin kayak gini aku naikkan kemudian skill-nya aku kecilin Oke kayak gini Oke kemudian ini aku panjangin skill ininya ke sininya Oke sip kemudian aku pas-pasin biar kayak senjata deh oke mungkin kayak gini Oke kayak gini udah oke sih udah oke oke sip H mantap oke silinder ini mungkin aku Nain Gun Oke kalau udah sekarang tinggal aku buat material lagi jadi di sini aku create Oke ini aku ada material Oke namain mungkin ini materialnya warna merah gitu ya red Mat red material ini aku ganti warna merah ini aku drag ke badannya kemudian ini aku duplikat ini aku namain blue Mat mm ini aku ganti warna biru gitu ya aku drag ke kepalanya aku duplikat lagi Oh ya By the way duplikatnya Tuh ctrol D ctrld ctrld Oke ini aku namain mungkin yellow Mat aku kasih warna kuning oke Ini aku kasih ke senjatanya Oke sekarang kita punya gambar kayak gini dan kalau kalian lihat By the way ini bayangannya terlalu gelap ya untuk bagian depan jadi bisa kita buat gini teman-teman ini directional light bisa kita putar y-nya nah ini y-nya kita putar Kita sesuaikan kita Pasin depan dulu deh let's say di sini 200 kayak gini aduh sayangnya ketika depannya kena sekarang malah belakangnya yang gelap Terus gimana dong Ya gampang aja kita duplikat directional light-nya Oke kalau udah ini kita rename kita F2 F2 namain aja ini adalah boun slide oke lalu di sini shadow-nya yang di Bound slide ya shadow-nya kita no shadows kita matikan shadow-nya lalu intensitasnya kita kurangin let's say jadi 0,5 deh lalu kalau udah y-nya ini kita putar supaya dia ee merefleksikan cahaya belakangnya Oke let's say ini berarti no0 no gini deh oke mungkin ini x-nya kita buat ya x-nya kita buat 30 deh mungkin 30 ah cukup nih udah oke ini directional light-nya mungkin kita buat ini 40 deh nah udah jadi enggak terlalu terang dan enggak terlalu gelap oke sudahah oke kan lighting-nya depan terang belakang pun terang oke tinggal Bound slide ini kita masukkan ke dalam directional light nah oke sudah rapi sekarang Coba kita play Oke tuh kita bisa gerak-gerak tuh ya kita bisa gerak-gerak dan seolah-olah kita kayak orang yang bawa senjata kameranya ngikutin oke sip sekarang kita membuat player kita ini bisa menembak teman-teman ya Bisa piw piw gitu ya Nah caranya gimana caranya gini pertama logikanya itu adalah kita harus buat dulu ya player kita bisa rotasi-rotasi gini oke nah pakai Mouse jadi ketika kita nanti menggerakkan Mouse kita player kita bisa berotasi kayak gini nih ya Nah caranya gimana teman-teman caranya gini kita ya pergi ke script ini ya player Movement kita di player Movement ini teman-teman ya kita mau bikin dulu variabel di sini namanya public Float rotate speed ya kalau kita punya move speed maka kita juga punya speed untuk rotate dong ya enggak Oke kalau udah nih teman-teman ya di sini kita buat dulu fungsi ya di sini kalian tulis aja void ya Movement kayak gini Oke kurung kurung oke oke kayak gini kalian harusnya sudah paham ya fungsi ini kayak gimana untuk apa karena kalian sudah nonton basic coding-nya kalau udah ini kita Cut nih semua nih yang ada di void update kita Cut nih sampai sini kita ctrl X kita taruh di void Movement Oke kalau udah sekarang fungsi void Movement kita Panggil di sini oke kayak gini Oke harusnya Kalian paham ya ini fungsi nah fungsi yang memiliki e logika Movement ini Jadi ini fungsi Movement dia punya logika Movement ini Mechanic Movement lalu fungsi Movement kita Panggil di void update Oke kalau udah sekarang teman-teman di sini kita mau bikin yang namanya void rotate nah kayak gitu ya void rotate Nah jadi gini ini kalau kita play ya sama kita masih tetap bisa bergerak sama aja logikanya cuman Kita pisah aja di sini ini ada yang untuk fungsi movement-nya ini fungsi rotate-nya nah di fungsi rotate nih teman-teman kita mau menampung dulu input untuk mouse kanan kiri kita jadi di sini kita bikin variabel Float ya adalah input Mouse ya let's say Mouse horizontal gitu ya mouse kanan kiri gitu ya pergerakan Mouse yang ke kanan ke kiri itu adalah Mouse horizontal gitu ya input Mouse horizontal titik koma kayak gini Oke lalu kita bisa tulis di sini eh input Mouse horizontal sama dengan Nah di sini kita tulis input ya input.getxis ya get Ais Apa ya nama ais-nya nih teman-teman kalau Mouse itu adalah Mouse horizontal ya adalah Mouse X kayak gini teman-teman ya kalian perhatikan nih Mouse m-nya besar lalu spasi lalu X x-nya besar jadi kalau kalian penasaran kalian bisa ke edit ya lalu ke project setting lalu ke input Manager di sini ada nah ini Mouse X nih Nah ini Mouse X nah Mouse X ini ya adalah nih X Axis Mouse Movement x Ais Oke artinya dia untuk pergerakan mouse kanan kiri oke jadi kayak gini Oke teman-teman sekarang kalau udah teman-teman ya kita perlu ngerotate eh karakter kita jadi gini tinggal kita di sini teman-teman kita tulis transform ya dot apa euler Angles Oke kalian mungkin masih bingung Jadi ikutin dulu aja do transform.uler Angles sama dengan New Vector 3 Oke 0 koma oke input Mouse horizontal dikali rotate speed dikali time D Delta time0 kur titik koma oke oke di sini eh By the way ini input Mouse horizontal kalian Biarin seperti ini dulu aja lalu rotate ini kita Panggil fungsi rotate di update sini di bawah Movement kita Panggil tulis rotate Oke sip mantap Oke sekarang kita kalian ikutin dulu Nanti aku jelasin aku yakin kalian masih bingung di sini kalian naikin rotate speed-nya jadi 100 deh oke Sekarang gini coba kita play e kita gerakin ah ah Oke kalian Coba kalian perhatikan Rotation ini ya player lalu Rotation lalu pada bagian sumbu y-nya kalian perhatikan Oke sekarang kita mau gerakin Mouse kita ke kanan kiri kanan kiri gini tuh kalian lihat engak y nya berubah-berubah tuh tapi kembali lagi ke nol oke sekarang Coba aku mau tanya ke kalian logika kalau kita mau ngerotasi player tuh gimana sih ya kita putar ini y-nya ya kan ya tuh tuh tuh tuh kalau kita putar y-nya sumbu rotasi y-nya ya dia berputar juga playernya tuh kan tuh Nah maka dari itu kalau kita mau ngerotasi player maka kita perlu menggunakan input Mouse kita untuk merotasi ini untuk menggerakkan atau merubah value dari Rotation y Ya kan logikanya input mouse kanan kiri kita untuk menggerakkan Rotation y ini Oke sekarang logika decodingnya adalah kita buat dulu variabel untuk menampung input Mouse kita ketika ke kanan kiri Mouse ke kanan kiri itu kan inputnya namanya Mouse X nah nilai ini ditampung di input Mouse horizontal lalu ketika kita mau ngubah rotasi ini rotasi dari y ini Ini kan ada di transform ya ini Ini kan ada di namanya transform transform punya rotasi maka di sini kita tulis transform do e Angle lah kok e Angle Bang katanya Rotation jadi gini kalau di Unity itu ada transform. positionos ya transform. positionosition itu untuk mengakses apa ya ini posisi ini jadi kalau semisal ini transform. positionos aku save kemudian ini aku play kemudian aku gerakin mousku Nah itu y y-nya berubah-berubah kan y-nya yang position tuh ya kan tuh ketika aku gerakin mousku kanan kiri tapi kan kita enggak mau ngakses position-nya kita mau ngakses rotation-nya nah untuk ngakses rotation-nya ini kita pakainya adalah transform.uler Angle gitu ya ingat-ingat kalau di Unity Rotation itu Bahasanya euler Angle ingat-ingat euler Angle nah lalu kita buat deh euler angle-nya ini dengan sebuah vektor 3 lah kok vektor 3 Ya iya dong Rotation ini kan vektor 3 nih loh X y z ya kan vektor 3 bro ya gak maka dari itu di sini vektor 3 new vecttor 3 x-nya kita buat 0 ya 0 dong kan kita kan cuma mau ngerotasi y-nya tok ya maka x-nya 0 y-nya kita kasih input Mouse kita yang horizontal gitu kemudian dikalikan dengan rotate speed gitu rotate speed kecepatan rotasi kemudian dikalikan dengan time D Delta time ya biar sejajar semua fps-nya kemudian koma z-nya kita isi 0 jadi x-nya kita isi 0 z-nya kita isi 0 tapi y-nya kita isi dengan input mous kita yang dikalikan dengan rotate Speed yang dikalikan time. Delta time cuma pertanyaannya Bang kenapa waktu kita rotate ke kanan kiri ini kembali lagi ke nol nilainya karena apa teman-teman Karena ini aku mau visualisasi lagi nih ini aku mau copy deh Ini aku mau Cut nih ya Float input mous horizontal aku taruh di sini lalu di sini aku buat public kayak gini Oke sekarang aku save nah kalian lihat nih Nih input m horizontal kalau aku play aku ke kanan kiri ya dia berubah-berubah tapi kembali ke nol nih loh kalian lihat nih kalian lihat input Mouse horizontal mousku ke kanan kiri nih dia berubah nilainya tapi dia kembali lagi ke nol nah Berarti Gimana caranya supaya ini bisa bertambah bukannya justru kembali ke nol caranya adalah Oke ini aku Ando dulu aku Kembalikan ke sini Oke caranya adalah di input Mouse horizontal ini ini bukan cuma sama dengan tapi plus sama dengan gitu Nah Enggak bisa ya enggak bisa plus sama dengan ya jadi caranya adalah seperti ini caranya adalah di transform.er Angel ini yang kita kasih plus sama gitu Jadi kalau coding itu kalian jangan takut-takut untuk mencoba-coba ya kalau ternyata di sini salah maka kita coba Oh yang di sini bisa enggak Oh bisa nih bisa n enggak ada error kan enggak ada merah-merah kan Oke jadi sekarang ini logikanya gini rotasi transform rotasi kita e Angel itu rotasi ya Ini loh transform kemudian rotasi kita ini elure Angel itu ini er Angel itu Rotation ini kita mau tambahkan y-nya kita mau tambahkan y-nya dengan apa dengan input horizontal input mous horizontal kali rotate speed k time Delta time gitu kita tambahkan ya Jadi bukan kita sama dengankan tapi kita tambahkan sama dengan Oke jadi sekarang kalau kita play ini kita rotasi Nah itu kita apa Mouse kita bisa berguna untuk merotasi itu mungkin ini kurang licin ya kalau kurang licin kita naikkan ini rotate speed-nya jadi 500 oke nah tuh sekarang udah oke tuh oke cuma permasalahnya satu hal lagi teman-teman gini coba sekarang kalian di sini bikin cube dulu deh 3D object cube Oke cube ini kalian reset oke lalu kalian gedein deh cube-nya oke kalian anggap ini kayak obstacle gitu kalian posisikan Terserah kalian mau posisikan di mana Oke untuk aku aku coba posisikan di sini kemudian ini ketinggian ya aku turunin dikit Oke kemudian mau aku posisikan di sini kemudian di sini kemudian sama di belakang satu Oke sekarang kita bikin di sini Klik Kanan create mty namain aja ini Inv runment environment Oke environment ini kita reset dulu posisinya transformnya Sor transformnya kita reset biar semuanya nol nih ya mau posisi rotasi scale kalau udah cube kita select semua sama ple kita masukkan ke environment Jadi sekarang environment menampung ya environment berupa alas sama cube gitu Oke kalau udah sekarang kalian lihat nih Oke ini aku pencet W ini aku maju ke depan oke aku pencet S Aku maju ke belakang a ke kiri d ke samping Tapi teman-teman kalau aku rotasi rotasi arahku ke sini rotasi arahku ke sini misalnya ya kalian bisa ngelihat ya Nih aku rotasi arahku ke sini oke kemudian aku pencet W lah dia malah ke situ tetapan aku pencet S loh kok dia malah ke situ harusnya kan kalau aku pencet W ya dia ke arah sana dong ke arah Aduh ini gimana malah jadi bingung kan Nah kalian kalian coba sendiri kalian nanti pasti bingung ya ketika kalian madep ke sini kalian Betul wsd-nya tapi ketika kalian berubah arah loh kok malah beda nih arahnya wsd-nya Nah untuk memperbaiki hal ini gimana oke untuk memperbaiki hal ini gini teman-teman kalian kembali ke script teman-teman Oke Jadi sebelumnya teman-teman di sini kita perlu mengambil referensi kamera kita dulu ya jadi di sini kita perlu bikin public oke lalu e transform oke lalu kalian tulis aja di sini kamera oke kamera transform deh biar lebih jelas lagi Oke kamera transform Oke jadi sekarang kalau kita minimiz oke lalu di di sini kita ke player oke lalu di sini akan ada variabel kamera transform kita masukkan main kamera kita nah main kamera kita kita masukkan Oke kalau udah kita masukkan seperti ini teman-teman kita kembali lagi ke cod-nya di sini nih oke lalu di sini kita mau buat eh variabel baru dulu oke yang berhubungan dengan kamera kita karena kalau kalian tahu kan ketika kita ke muutter gini kita mau bergerak ke arah sana tuh sesuai dengan arah kamera kita kan logikanya kan berarti kita perlu kamera kita kan karena kita harus bergerak sesuai dengan arah kamera kita gitu maka di sini kita membuat vektor 3 yang baru ya di sini eh let's say di sini Vector 3 yaitu adalah e move camera Direction jadi kita bikin Vector 3 untuk menampung move camera Direction nah By the way ini kita bisa langsung sama dengan kayak gini new Vector 3 kayak gini sebetulnya bisa langsung kayak gini sih tapi di sini teman-teman aku mau langsung tulis kayak gini ini ya ikutin dulu aja ikutin dulu Nanti aku jelasin adalah camera transform Oke do transform Direction oke lalu kurung input wasasd oke mana input wsd oke lalu titik koma oke lalu di sini controller move-nya kita enggak pakai input wasd tapi pakai ini move camera Direction Oke kayak gini teman-teman Oke sekarang Coba k kalian minimize lalu kalian play oke di sini nih kalau aku maju ke sini dia maju aku muutar ke sana kalau aku pencet W dia majunya ke sana aku muar ke sini aku pencet W dia majunya ke sini Jadi sekarang dia ah bisa bergerak cuma permasalahannya kalau aku pencet S teman-teman Iya dia terbang dia ke atas kalian lihat nih y-nya ke atas nih y posisinya ke atas kalau aku pencet S Iya karena apa Karena dia menyesuaikan kamera nih loh sebentar kalian lihat dulu kameranya tuh kameranya kayak gimana tuh nah kameranya kan posisinya kayak gini ya kayak gini ya posisinya ya Maka kalau aku pencet S ya dia ke arah kameranya gitu heeh tapi dia udah betul kan Nih arahnya tuh kalau aku mau mengarah ke sini aku pencet wasd-nya udah betul tinggal kalau malah s-nya naik Nah untuk memperbaiki hal ini kita bisa kembali ke code-nya lalu di sini kita tulis move camera direction-nya ini variabel yang move camera direction-nya ini kita tulis do y-nya ya do y-nya kita buat nol supaya dia enggak ke atas ke atas tuh kan sumbu y kan posisi sumbu y maka do y-nya kita buat no0 jadi sekarang kalau kita play Nah tuh dia udah enggak ke atas Oke sebelumnya aku mau jelasin dulu cod-nya oke kita jelasin cod-nya jadi gini teman-teman kalian ingat enggak kalau kita bergerak ke arah-arah ini loh arah-arah ini ini kan sebetulnya arah yang dilihat kamera oke arah yang dilihat kamera oke maka dari itu di sini kita perlu buat referensi untuk kamera transform-nya supaya kita bisa masukin main kamera kamera transform tuh kita akan menggunakan transform kamera ini loh ya kamera transform oke di sini kita buat itu ya public transform camera transform Oke kalau udah kita punya referensi ke kamera transformnya maka kita membuat Vector 3 yang baru untuk move camera Direction jadi untuk arah pergerakan kita nanti yang sesuai dengan direksi kamera arah pergerakan kita yang sesuai dengan camera Direction kita isi dengan kamamera transform do transform Direction input wasasd ini artinya variabel vektor input wasasd kita akan disesuaikan dengan arah kamera kamamera transform jadi camera transform. transform Direction itu akan menyesuaikan e akan menyesuaikan vektor apa nih vektor 3 apa nih ya input wasd yang mau Kita sesuaikan gitu loh masih bingung Oke jadi gini input W kita supaya sesuai dengan arah kamera maka kita perlu tulis di sini camera transform D transform Direction lalu input WD kan kita menyesuaikan dengan arah kamera maka ya kita pakainya di sini kamera transform ya karena kamera transform kita ini variabelnya sudahah kita isi dengan apa kamera main kamera kita gitu maka camera transform D transform Direction ini fungsi ini fungsi teman-teman untuk menyesuaikan eh vektor tadi dengan arah lalu apa yang mau disesuaikan input wsd disesuikan dengan kamera transform hasil penyesuaiannya hasil penyesuaiannya kita Store ke move camera Direction yang mana Nanti move camera Direction akan menggunakan di sini akan dijadikan controller move untuk kita bergerak nanti jadi move camera Direction yang udah Kita sesuaikan gitu ya tadi ya input dengan arah kamera kita kali move speed kita kali time to Delta time lalu di sini move camera directiontion.y-nya kita buat 0 supaya kita enggak terbang kayak tadi gitu kan posisi atas itu kan do y ya untuk kita terbang untuk kita turun itu kan do y Jadi kita buat nol Jadi sekarang kalau kita play nah udah layaknya kayak normal gitu oke sekarang mungkin kita mau tambahkan sedikitlah untuk map-nya biar lebih rapi jadi di sini aku mau bikin kayak tembok gitu Oke ini cube aku reset Oke let's say cube-nya ini aku buat ini scill-nya 5 deh l lalu ini aku arahin ke sini Oke kayak gini teman-teman kalian pas-pasin aja L Gampang kok Oke Ya kayak gini kalian bisa lihat dari atas nih lalu klik ini biar jadi dua dimensi lalu pencet F biar fokus nah ini udah dua dimensi oke tinggal kalian arah-arahin aja ini By the way kalian bisa pencet t ya untuk re ini aku pakai T pencet t Oke t untuk ngre kayak gini Oke oke Ini udah rapi ya Nah itu udah rapi itu oke lalu ini tinggal aku duplikat aku taruh di sini oke nih oke sip sudah rapi tinggal aku duplikat lagi nih Ctrl D lalu aku rotate Oke kalau sudah rotate tinggal aku posisikan di sini oke ya Hmm dah kayak gini aja enggak usah rapi-rapi lalu ini aku taruh di sini oke deh sekarang kita udah punya Ah ini agak ke sini dikit Nah kita udah punya map yang agak proper dikitlah ya yang ada temboknya tinggal cube-nya ini kita naikkan y-nya segini terus cu-nya ini kita masukkan environment Oke selesai J sekarang kita ya at least kita punya map yang agak proper lah tuh oke oke sekarang gini teman-teman ya kalian udah gak bisa keluar Map ya kalian ah nabrak-nabrak kalian gak bisa keluar map oke Sekarang gini teman-teman kita ma buat gimana karakter ini bisa tembak-tembak bisa piwpw gitu ya oke pertama kita mau gini dulu teman-teman kita mau tentukan dulu peluru kita nanti keluar dari mana yang namanya peluru ya pasti keluar dari senjata dong bang keluarnya di mana tapi gitu loh Ya keluarnya di ujung senjata ini ya peluru keluarnya di ujung senjata ini maka dari itu teman-teman kita di sini perlu bikin kayak empt object empty object kita taruh di gun di Gun ini kita Klik Kanan lalu empty object namain aja di sini adalah Bu out bulet out itu adalah posisi keluarnya Bullet lah Bullet out ini kita taruh nih di ujung ini nih oke nah kita taruh di ujung ini Nah kita pastikan z-nya ini ini sumbu z ya sumbu z mengarah ke depan jadi ini kalian buat lokal terus Kalian rotasi rotasi kayak gini supaya nih z-nya mengarah ke depan Jadi kalau di sini kasusku adalah Rotation x-nya aku buat 90 untuk Bul out jadi G itu punya Child Bullet out nah Bullet out-nya ini Z sumbu z-nya mengarah ke depan ingat-ingat ya Z ini harus mengarah ke depan karena kita menembak pasti mau mengarah ke depan dong enggak mungkin kita menembak mengarahnya ke tempat yang lain tapi mengarahnya ke depan z-nya ke depan ini aku bikin 90x-nya berarti Oke kalau udah pas arahnya gini teman-teman kita mau bikin scrip baru untuk player shooting di sini Kita sudah punya script player Movement sekarang kita tinggal bikin script player shooting gitu ya player shooting kita tunggu biasa loading sebentar di Unity kalau udah kita masukkan di sini ke player kita add komponen kalian bisa Drag and drop gini kok bisa atau Kalian juga bisa add komponen cari di sini player nah ini player shooting Ini yang barusan kalian buat kan player shooting kalian klikklik dari sini pun juga bisa Klik klik nah tuh langsung kebuka Oke sekarang kita mau menembak nah mau menembak kita perlu variabel apa aja nih pertama kita bisa Hapus dulu oke hapus kita perlu referensi apa referensi peluru dong Ya dong kita menembak akan keluar pelurunya ya enggak maka di sini kita bisa tulis public oke lalu game object lalu Bullet eh Bullet objectjek gini Bullet object oke oke Bullet object jadi kalau kita minimize Oke di player shooting akan ada apa nih Bullet object tuh ya Bullet object ini jadi di sini kita bisa bikin bulletnya dulu Klik Kanan 3D object mana ini spir Oke namain aja ini adalah bulet Oke ini aku reset dulu Nah itu Ya elah masa buletnya segede ini masa gedenya segini buletnya Oke mungkin ini buletnya aku kecilin dulu ya mungkin ya let's say scale-nya ini aku bikin koma2 l 0,2 lalu di sini aku kasih material baru ke resources aku bikin material baru ya material namain aja Black Mat gitu ya Bullet warnanya hitam gitu aku kasih ke buletnya oke oke kayak gini lalu di buletnya ini teman-teman ya aku kasih nah Coba kalian gini dulu ini buletnya kalian taruh atas gini nah ke atas Oke sekarang kalian play Oke tuh enggak ada apa-apa ya buletnya ngambang Ya tapi kalau buletnya kalian kasih yang namanya rigid body Oke sekarang kalian matikan Eh sekarang kalian play Sorry tuh dia jatuh nah tapi kenapa permasalahannya buletnya tembus ke bawah gitu kan kan Oke jadi gini kalian pastikan di pl-nya ini udah ada colollidernya Oke udah ada sekarang di Bullet out-nya ini eh sorryi di bullet-nya ini dia udah ada sphere collider udah ada rigid body terus di sini Collision detection-nya ya ini kalian ubah jadi continous deh sekarang Coba kalian play Oke dia jatuh Nah tapi dia jatuhnya oke di sini ya pas ya enggak tembus ya Oke ini kalian buat continuous ya Collision detection-nya supaya dia Collision itu artinya apa toh Collision itu artinya ya itu tumbuhkan atau gesekan gitu loh jadi deteksi gesekannya atau deteksi tumbukannya kita buat continuous kita buat terus-menerus untuk mendeteksi tumbukan atau gesekannya gitu loh Makanya sekarang kalau kita play ya dia udah pas di sini ya jatuh sampai di sini enggak tembus Oke kalau udah sekarang buletnya ini teman-teman Oke ini By the way bisa kita ke resource nih Eh kita bisa bikin folder baru di resource mungkin di sini kita bikin folder dulu material kayak gini terus semua materialnya ini Kita masukin ke folder material lalu kita bikin folder lagi namain aja di sini adalah prefaps prefaps gitu prefaps lalu bulletnya ini Kita masukin kita Oke ini kita buka dulu folder prefaps-nya lalu buletnya ini kita Drag and drop kita Drag and drop kita tarik ke sini ke folder prefaps Oke jadi sekarang bulletnya ini akan berwarna biru kalau kita delete bulletnya enggak apa-apa Kita kan punya simpanannya di sini sini Jadi tinggal kita masukin lagi nanti ke sini gitu Oke jadi sekarang di playernya di bagian player shooting Bullet objectjeknya aku masukin Bullet BEM Oke kita sudah punya referensi untuk Bullet kita Oke sekarang aku mau ngespon bullet-nya ketika aku klik mouse oke jadi caranya gini caranya kita ke Update dulu di sini kita bikin fungsi update ya update kayak gini Oke nah di private void update ini kita mau kayak gini nih if Oke if input ya doget Mouse button ya No maka kurung kurawal maka instantiate Bullet object Nah di sini kita perlu referensi kita mau ng-espond Bullet objecteknya di mana nih gitu loh karena kalau cuma gini Tok kalau semisal sekarang kita play kemudian aku kalian perhatikan hierarki ini kalian perhatikan ini hierarki kalau aku klik-klik nah itu akan keluar bulet-buletnya tuh ya langsung keluar banyak banget kayak gitu ya tuh cuma permasalahnya buletnya ini enggak nge-spawn di tempatnya yang benar gitu loh Nah maka kita perlu cari referensi untuk Bullet out ini supaya bulletnya bisa nge-spawn di Bullet out ini jadi di sini di script player shooting kita bikin lagi public transform Bullet out Oke kemudian ini kita kasih koma Bullet out Oke kayak gini jadi ketika get Mouse button 0 Mouse button 0 itu artinya ketika Mouse kiri ya jadi 0 itu mouse kiri 1 itu mouse kanan t eh sorry du itu middle mouse mouse tengah itu loh yang mouse wheel maous scrollsroll itu kalau kalian klik itu Mouse 2 tapi kalau kita mau Mouse kiri deteksi Mouse kiri maka ini nol Oke jadi kita akan instantiate itu spaw ya instantiate itu Spawn jadi ketika Mouse button kiri dipencet ya maka kita akan instanate atau nge-spawn Bullet object di Bullet out maka di sini di player Bullet out-nya ini Kita masukin Bullet out kita akan ng-spaw Bullet object yang mana Bullet di Bullet out yaitu di sini jadi kalau kita play bem bem bem bem lah kok enggak beres kayak gini Bang ini Ini kenapa nih ini kenapa gini kita kembali lagi di sini nih ya ini sebetulnya kita coba dulu get Mouse button kita tambahin down kayak gini Oke d-nya besar oke kemudian ini Coba kalian Hapus dulu oke kayak gini lalu kalian tulis koma Nah itu kalian lihat di sini ada apa aja nih objek original objek originalnya ya bulet objek lalu transform parent Nah jadi kalau kita ngespaw bulet objeknya ini parentnya mau taruh di mana nih Oh gak usah dikasih parent ya Jadi ini kita tulis N0 aja lalu koma lalu di sini ini instantiate workspace mungkin ini langsung aku isi aja deh Oh mungkin kayak gini Sori sori ini bukan null tapi Bullet out Tadi kita salah kita cuma Bullet out tok harusnya ini Bullet out position Nah kayak gini kemudian kita tulis di sini quarterneon.identity Nah tadi kita salah teman-teman kita lupa kita cuma tulis bulet auto ya bingung dong Jadi itu maksudnya gini ini bulletnya ini ketika kita tulis Bullet auto tadi ya nih ya aku tulis Misalnya ini tadi kita tulisnya apa di sini Bullet auto kan Bullet auto kayak gini kan enggak pakai position kan nanti jadinya adalah peluru-pelurunya itu akan menjadi child-nya Bullet out nih kalau aku tembak Nah itu tuh nih kita buka Bullet out nah itu pelurunya malah ada di dalam Bullet out gitu loh logikanya nah sedangkan kan kita kan enggak mau gitu kan kita kan intinya kan mau pelurunya itu spaw-nya ada di Bullet out nah spawn-nya ada di Bullet out itu kan artinya spaw-nya ada di position-nya transform Bullet out maka dari itu di sini kita tulis Bullet out.position gitu nah ini Kok error Kenapa kita perlu juga assign rotasinya rotasinya ya mungkin kita tinggal tulis aja bulletout.rotation kayak gitu udah gitu jadi Bacanya adalah ketika Mouse kiri ya diklik maka kita akan instaniate atau ng-espawn Bullet object posisinya spaw-nya di mana Di Bullet out dot position rotasinya gimana ya jadi bulat out. Rotation Jadi sekarang kalau kita play bem bem bem tuh kan tuh kan tuh dia akan ng-spawn di posisi Bullet out ini nah dia ng-espawn di posisi Bullet out ini rotasinya menyesuaikan dengan Bullet out juga tuh tuh gitu tuh oke oke teman-teman oke sekarang permasalahannya adalah kita mau bikin ketika kita nembak itu bisa maju gitu loh pelurunya bisa duar gitu ya peluru nya bisa melaju nah caranya gimana caranya gini ya di sini kita perlu Store dulu pelurunya ee di variabel referensi gini loh jadi gini kita kan habis nge-spawn nih habis nge-spawn kan kita kan enggak punya referensi peluru yang barusan ke-spawn nih loh kalau aku tembak kan ada peluru-peluru yang barusan ke-espawn nih ya kan nah kita kan enggak punya referensi ininya Nah kita mau ngambil referensi ini gitu loh ya peluru-peluru yang barusan kepawn supaya bisa kita kasih Force supaya nanti ketika kita nembak bem nah peluru yang barusan kepaw ini akan maju BEM kayak gitu akan maju BEM gitu itu kita kasih Force maka dari itu di sini teman-teman kita mauembuat oke di sini aku mau kasih spasi oke lalu di sini aku mau buat variabel tipenya game object Oke namain aja Bullet clone lalu sama dengan jadi Bullet clone sama dengan instanate ini jadi Bullet object yang barusan kita instanate atau kita spaw kita ke Bullet clone jadi tinggal di sini di Bullet clone ya Bullet clone dot ya kita mau get compponen dulu rigid body get component gini kalian ingat gak di Bullet ini Mana tadi bulletnya di resource di prefaps di bulet ini bulet ini kan punya komponen rigid body komponen rigid body yang bikin buletnya itu tadi jatuh artinya komponen rigid body ini kayak Fisikanya gitu loh kayak komponen fisiksnya komponen Fisikanya Nah kita mau kasih Force di rigid body-nya ini maka dari itu ketika kita mau mengakses rigid body dari objectjek Bullet ini ya komponen rigid body yang mau kita akses ini maka di sini kita perlu tulis Bullet clone.get component ya kan Bullet clone ini kan Bullet yang barusan kita Spawn Nah kita mau mengakses rigid body-nya jadi kita tulis di sini doget component kemudian kayak gini apa ini namanya kurung kurung e tanda kurang besar sama tanda lebih besar dari gitu ya lalu kalian tulis di sini rigid body lalu ini kurungkung biasa kayak gini Oke lalu dot lah komponen rigid body-nya mau kita apakan mau kita add Force kayak gini teman-teman ya mau kita add Force kita add Force dengan berapa ya di sini kita perlu dulu bikin variabel public public ya public Float ya shoot Force gini Oke mau kita add Force dengan shoot Force kayak gini oke shoot Force Force gitu nah By the way ini shoot Force kita kali apa kita kali dengan Bullet out do forward Nah kenapa dikali Bullet out. forward gini loh logikanya ya kan kita kan mau setelah nge-spawn ini nge-spawn Bullet clone eh sorry nge-spawn Bullet object ya kan bulletnya itu kan kita Store ke Bullet clone nah cuma kita mau nembaknya ke arah mana ini loh gitu loh Kita kan Bullet clone-nya mau kita add Force nih Nah add force-nya mau kita eh add Force ke arah mana gitu loh Ya mau kita add Force ke arah Bullet out-nya dong Jadi kalau semisal Bullet out-nya mengarah ke sana ya ini kan ke sana nih arahnya ya kita mau eh pelurunya itu mau Kita add Force ke arah sana sesuai arah dengan Bullet out-nya kalau semisal Bullet out-nya nanti ngarahnya ke sana nih Nah itu ngarah ke sana tuh ngarah ke sana ya nanti pelurunya mau kita tembak ke arah sana sesuai dengan bulet out-nya gitu maka dari itu di sini shoot Force ya kita kali dengan Bullet out.forward kita kali dengan arah Bullet out arah depannya forward itu kan artinya arah ke depan gitu loh jadi Bullet yang barusan kita Spawn akan kita add Force sebesar shoot Force ya force-nya itu atau tekanannya itu sebesar nilai shoot Force arahnya ke depan Bullet out ya ke arah depannya Bullet out Jadi sekarang kalau kita play di player ini ini shoot forceennya let's say kita isi 500 kita play Oke kita tembak tuh dia akan Nah tuh tuh kan tuh kan dia mulai ada the forcenya tuh tuh forceennya ke depanah tuh kalauisal ini aku naikkan jadi let's say 10.000 nih r.000 nih banter banget nanti tu tu banter banget kan banter banget ini kalau semisalnya ini 1000 kalau ini 1.000 gimana do tuh masih lumayan kalau 1.000 gitu Oke ini kalian bisa bermain-main lah ini nilainya berapa Oke mungkin 2.000 nah gitu teman-teman arahnya ke depan kan jadi kalau semisal ini ini aku ganti bukan forward tapi ke alah right kayak gini ya nanti dia arahnya ke kanan gitu loh tembakannya ke kanan dari Nah itu ke kanan kan arahnya ke kanan dari Bullet out gitu jadi ingat-ingat teman-teman forward ini artinya sumbu z sumbu z dari Bullet out nah kita lihat Bullet out sumbu z-nya ke mana sumbu z Itu yang warna biru Oh sumbu z-nya ke depan sana ya Makanya dia betul ke sana tapi kalau Bullet out ini sumbu setnya aku rubah ke sini nih Ni aku rubah ke arah sana tuh ya sumbu znya yang warna biru ke arah sana kalau aku tembak ya dia ke arah sana gitu jadi menyesuaikan dengan sumbu set dari Bullet out gitu teman-teman oke sekarang masih ada satu permasalahan nih kalian notis gak kalau semisal aku tembak-tembak gini ya let say aku naik ini aku malah loh tuh aku malah bisa terbang tuh aku bisa B naik ke atas pelurunya tuh ini aku terbang loh ini ini aku terbang ini aku naik ke atas pelurunya nih Nah ini aku ngambang loh ini ini ngambang nih ya aku ulangin ya Awalnya aku di bawah oke Awalnya aku di bawah let's say ini shoot force-nya aku kasih nol dulu deh oke Awalnya aku di bawah aku tembak-tembak aku dekatin pelurunya tuh aku malah terbang tuh aku naikin pelurunya tuh tuh aku naikin pelurunya nah kalian lihat gak aku naikin pelurunya dan aku gak bisa turun lagi aku enggak jatuh kayak enggak ada gravitasinya ya Tu kan tuh nah untuk memperbaiki hal ini Gimana Bang jadi kayak gini teman-teman Kayak gini ikutin aku ya caranya adalah teman-teman kalian ingat yang controller move ini yang ada di script player Movement oke nah controller move ini kalian ubah jadi simple move sesimpel itu ya udah kayak gitu aja sekarang udah kalian ubah jadi simple move kalian save terus move speed-nya ini kalian naikkan lah jadi 5.000 let's say gitu sekarang kalau semisal aku ini ya Misalnya anggap aja ini Nti aku naik tuh aku nah tuh aku turun Tu kan kalian lihat gak nih ya coba aku ulangi ya aku dekatin deh sama karakter playerku Oke ini ini aku naik nih oke aku gak belum bisa naik ya Sebentar tak bikin kayak tangga gitu nih Nah itu tuh aku udah agak ngambang tuh tuh tapi aku turun lagi tuh aku ngambang Aku turun lagi tuh gitu Jadi let kalau semisal ini temboknya aku hapus kemudian aku terjun bebas gitu aku akan jatuh aku akan jatuh aku enggak akan ngambang nih lihat nih Wah Tuh kan aku jatuh kan nah gitu teman-teman itu jadi untuk karakter controller nih karakter controller ini komponen ini untuk bikin dia bisa bergravitasi tinggal kita ini simple move kita ubah jadi simple move bukan pakainya move tapi simple move oke oke sekarang aku mau jelasin satu hal lagi teman-teman kalian tahu gak n kan di sini aku nulisnya get Mouse button get Mouse button ya tapi kenapa ketika get Mouse button itu banyak banget yang kepaw nih ya ini ingat ya ini tak ubah jadi get Mouse button top nih kalian lihat nih ketika aku play Get Mouse button tuh langsung banyak banget yang spa get Mouse button itu artinya dia mendengarkan Apakah Mouse itu dihold ya dihold Jadi kalau kalian ingin mendeteksi hold dari sebuah Mouse hold ya kalian tahu hold Hold hold penahanan tekan tahan gitu ya tekan tahan dari sebuah Mouse kalian pakainya di sini adalah get Mouse button aja tapi kalau kalian ingin mendeteksi cuma sekali klik klik gitu aja kalian bisa pakai get Mouse button down gitu Jadi kalau sekali klik get Mouse button down jadi ketika Mouse ini diklik kan mouse-nya turun tuh tut tut tut tombolnya mouse-nya turun tuh gitu tapi ada juga di sini get Mouse button up get Mouse Button Up kayak gini nah get Mouse Button Up itu akan dipanggil ketika kalian klik mouse oke nah kalian klik mouse ini kalian tahan dulu mouse-nya lalu kalian lepas mouse-nya nah tuh Jadi kalian tahan mouse-nya kalian lepas mouse-nya nah itu jadi ketika Mouse dilepas maka akan terjadi jadi get Mouse Button Up itu terjadi ketika Mouse dilepas gitu ya kalian tahan mouse-nya kalian lepas Nah itu namanya get Mouse Button Up jadi ini kita pakainya down down itu ketika Mouse pertama kali diklik bukan dilepas gitu teman-teman oke oke ya ini tinggal kita naikkan force-nya jadi 10.000 Oke kita sudah bisa bermain-main Oke sekarang gini teman-teman kita membuat pelurunya ini kalau pelurunya itu mengenai sebuah objek maka objek itu akan dibuat hilang Oke let's say kayak gini biar jelasnya anggap aja kita membuat Enemy jadi di sini kita create ya create empty Enemy kayak gini ini kita reset dulu biasakan direset biar rapi ya lalu kita ganti posisinya let's say di sinilah enemy-nya Oke let's say agak ke sini deh Oke let's see enemy-nya di sini ya posisinya lalu di Enemy ini aku mau klik lalu Klik Kanan lalu 3D object lalu kapsul Oke kapsul ini aku naikkan sampai segini oke lalu kapsul clider-nya aku hapus remove nah lalu di enemy-nya ini baru aku kasih kapsul collider jadi kapsul eh sorry di enemy-nya ini aku kasih kapsul collider jadi heatbox-nya atau collider-nya Ya itu bukan di grafiknya Ini ya Bukan yang di adaames renderernya ini cukup cukup m renderer tu cukup grafiknya aja gitu tapi hatbox-nya atau clidernya itu ada di objek utamanya ini yang Enemy Oke sekarang kalian notis gak ini kapsul collidernya enggak pas nih Oke jadi kita naikkan dulu ini adalah height-nya kita buat dua y-nya kita buat satu Oke tuh sekarang udah pas kan kalian lihat oke udah pas tuh oke Sekarang gini teman-teman Oke oke Sekarang gini kalian masih ingat yang namanya rigid body oke ya rigid body itu kayak physics nya gitu ya Sekarang kita di sini add component rigid body kayak gini kalau semisal sekarang aku tembak-tembak nih arahin ke eneminnya itu oke oke enggak enggak kejadian apa-apa ya enggak kejadian apa-apa tuh ya enggak kejadian apa-apa Aku ingin ketika ketika eneminya ini kena tembak kena tembak maka eneminya tu akan mental gitu loh akan mental Aku ingin membuat kayak gitu oke caranya gimana teman-teman caranya seperti ini ee pertama kita buat scriipt khusus di buletnya Oke ini kan ada bulat nih nah kita bikin dulu script di sini aset scrips ini kita create si subscript namain aja ini adalah Bullet Oke ketika udah jadi script bulletnya ini kita tinggal ke aset ke resources lalu ke prevap lalu ke Bullet lah Bullet ini kita klik klik nah di Bullet ini kita akan masuk ke prevap mode Oke di Bullet ini akan aku masukin komponen yang namanya Bullet yang Barusan aku buat tadi oke kayak gini bulet Oke sip kayak gini Mungkin kalian bingung ya maksudnya prefap ini apa sih jadi kayak gini Kayak gini ini contoh aja kalian enggak usah ngikutin ini contoh aja prefap tuu gini ini aku kasih ke sini nah prefap tuh warnanya apa warna biru ya warna biru Oke anggap aja bulletnya ini aku duplikat anggap aja tiga bulet Oke kayak gini Aku punya tiga bulet Oke bulet ini semua Dia memiliki prefap yang sama yaitu ini kalau aku klik nih Nah itu arahnya ke sini ke bulet ini jadi bulet ini sebagai prefap dari bulet-bulet ini semua Oke Nah kalau semisal teman-teman aku mau ngerubah semua bulet ini beda material gitu ya semisal ini ada banyak bulet ini aku diikat lagi deh nah ini ada banyak banget nih buletnya Aku mau ngerubah bulet ini yang warna hitam jadi warna kuning masa aku harus ngerubah satu-satu kayak gini ini aku rubahin warna kuning satu-satu kayak gini kan capek ya kan kan lama tuh kan lama kan enggak enak nah maka caranya adalah supaya langsung semuanya itu berubah jadi warna kuning kita tinggal klik salah satu bulletnya ini yang prefap yang warna biru lalu kita klik prefap-nya ini dia mengarah ke mana Nah mengarahnya ke sini kan Oke lalu bullet-bllet Bullet yang di aset ini kita klik Nah nanti kan ke sini kan ke prefap view gini terus di sini baru kita kasih materialnya materialnya let's say warna kuning gini nah sekarang kalau kita kembali kita pencet scene nah yang lain bulet-bulet yang ada di scene ini otomatis jadi warna kuning gitu loh gitu logikanya teman-teman ya paham ya masuk akal Ya jadi kalau aku mau ngubah lagi tinggal aku ke bulet yang ada di aset ini yang ada di prevaps klik klik lalu aku cari material warna apa let's say ya warna hitam warna hitam aja Udah gitu udah gitu caranya Maksudnya tuh buat kayak gitu loh oke sekarang di scrip bulletnya ini mana tadi Oh ya ada di resource prevap Bullet nah ini scriptnya sudahah kita masukkan Nah di sini nih Nah di sini teman-teman kita mau melakukan yang namanya Collision atau eh Collision itu artinya adalah deteksi tumbukan gitu loh ketika terjadi tumbukan mau ngapa ketika terjadi gesekan mau ngapa jadi gini pertama ke Enemy Enemy ini kita mau kasih tag khusus tag-nya kita mau add tag namain ini plus ini kita tulis Enemy kayak gini nah Enemy jadi Enemy kita kasih tag Enemy lalu player kita kasih Tag player Oke player punya tag player Enemy punya tag Enemy oke ya sekarang di Bulet scrip Bulat ini kita mau tulis di sini adalah on colollision enter nah If Ya Collision eh collision.care sorry collision.trform nahcareag ini adalah Enemy maka kita akan di sini adalah debug dlog Enemy hit kayak gini ini bacanya gimana Jadi gini kalau Eh ini ini script Bullet ya ini kan kelas Bullet script bulet nah script Bullet ini ada di objek apa sih kita lihat ya Bullet itu ada di objek Bullet nih ada di objek bulet Jadi sekarang kalau semisal kita play kita tembak buletnya nih kalian lihat di bulet-bulet clone ini akan ada ya Nah ini script bulet artinya script bulet ini ada di objek bulet berarti kalau gitu bacanya ini adalah jika objek Bullet itu mengalami Collision enter objek Bullet itu mengalami Collision enter atau artinya dia mengalami tumbukan tabrakan impact benturan colision itu kan artinya itu tumbuhkan maka kita akan cek ya jadi ketika bulet itu tumbuhkan atau tabrakan kita akan cek kalau if ya jika jika tumbukannya itu memiliki tag Enemy yaah bacanya gitu jika tumbukannya itu ya if Collision ini kan Collision nih jadi apa yang barusan dia tumbuk dia Store ke variabel Collision Nah kita cek nih apa yang barusan dia tumbuk maka yang barusan dia tumbuk kan distetore ke variabel Collision maka kita cek ifcollision.transform.compare tag kita mau nge-compare tag-nya gitu loh yang barusan dia tumbuh itu kita mau compare tag-nya compare tag itu artinya apa tau kita mau bandingkan tag-nya kalau tag-nya itu adalah Enemy ya Ini pakai ini ya pakai quote ya pakai tanda petik ya kalau tag-nya itu adalah Enemy kita mau tulis di sini theb.lock Enemy hit gitu thebug.lock Enemy hit ya Jadi kalau bulet ini menumbuk sebuah objek yang memiliki tag Enemy maka kita tulis thebug.lock Enemy hit Jadi sekarang kalau kita minimiz kita ke player pastikan Enemy sudah memiliki tag Enemy Oke kita ke player terus kita buat ya let shoot forennya jangan kebanteranlah 5.000 aja oke 5.000 mungkin buletnya kita gedein dikit biar kalian bisa lihat titik L gini ya buletnya terus kemudian kita coba tembak oke kita tembak arahin ini kita buka konsol Oke kita buka konsol konsol Oke ini kebesaran sor sor Sor aku minimiz oke ini pastikan nyala semua ya ini mati kayak gini nih mati kalau nyala itu kayak gini nah ini nyala nah ini terang kan Ya itu nyala oke sekarang aku tembak musuhku enemyu Nah itu akan ada tulisan apa Enemy hit aku tembak musuhku Nah itu Enemy hit dan enemy-nya langsung udah langsung terbang tuh nah itu ya tapi kalau aku ulangi kalau semisal aku enggak ngenain musuhku aku ngenain tembok deh ngenain tembok ini ya dia enggak ada apa-apa tuh ya dia enggak ada apa-apa tapi kalau aku ngenain musuhku BEM tuh Enemy hit BEM Enemy hit tuh Enemy hit Enemy hit Oke Jadi sebetulnya kita enggak usah Kasih kode yang khusus untuk bikin Enemy ini terlempar gitu ya kita cukup sebetulnya gedein aja pelurunya dan ini satu hal lagi di bulletnya ini kita klik-klik ini bisa kita ubah Collision detection-nya jadi continuous Dynamic oke lalu Coba sekarang kita play nah dia lebih sensitif lagi tuh Tuh kan dia begitu nih di konsol ketika aku ngenain tuh langsung Enemy hit Nah itu ya jadi continuous Dynamic itu lebih sensitif untuk mentalin objek lain untuk menumbuk objek lain gitu gitu ya kalian paham ya maksudnya ini tadi apa ini Collision detection kalau Collision detection-nya diskrit ya dia akan enggak sensitif untuk mendeteksi collision-nya ni dia enggak sensitif tuh malah tembus Tuh tuh malah tembus Tuh malah tembus tapi tetap kedetect Enemy hit tetap kedetect Enemy hit ketika dia mengenai Enemy tapi tetap tembus gitu loh tembus makanya itu supaya colion detectionnya itu baik akurat maka kita ubah jadi continuous Dynamic gitu kita tembak bem bem Nah itu en hit dia udah kontal sekarang aku membuatnya gini aja deh ketika ya E gini aja gini aja ketika eneminya ini kena tembak kayak gitu kena tembak kayak gitu dia let's say gini di Enemy ini let's say kita kasih ada lampunya l di sini add component light kayak gini light nah light itu ya jadi Enemy punya light nih punya light Ini aku kasih shadow-nya hard Shadow lalu mungkin intensitasnya aku naikin kayak gini ya let's say 50 orangange-nya aku buat 20 deh ya 10 aja udah cukup kemudian colornya aku buat merah Oke kemudian jadi logikanya Aku mau kayak gini teman-teman kalau eneminya ini nanti kena tembak maka light-nya mati jadi kalau light-nya ini masih nyala artinya enemi Masih hidup tapi kalau light-nya kena tembak light-nya mau kita matikan kayak gini Bam artinya ya eneminnya mati gitu ya pertanda eneminnya mati nah caranya gimana caranya gini ini light-nya kita Nyalakan dulu kalau semisal eneminnya kena tembak gini Maka nanti light-nya harusnya mati ya caranya gini di Bullet ini the back lock Enemy hit ini kita hapus aja kita mau gini kita mau Collision dot dot transform.getcponen eh jangan transform deh kalian Mungkin nanti bingung dogame object dog component gini ya kemudian apa light kita mau mengatur light-nya kan Nah light.enable false Jadi sekarang kalau kita play kita tembak musuhnya tuh light-nya langsung mati oke ya coba enemynya ini e kalian perhatikan nih light-nya nih ya Oke aku play kalian perhatikan light enemynya aku tembak enemya BEM Tunya mati ini kan langsung keancentang nah sekarang bacanya Gimana Bang baca banya gini kalian ingat kan Collision ini variabel Collision itu kan tipenya Collision kalian bingung ya udah gini aja deh aku buat bahasa Indonesia biar kalian paham colision ah kok Bahasa Inggris Sorry eh objek yang kena dah kayak gini aja biar kalian paham objek yang kena ini aku copy aku pas ke sini aku pas ke sini Jadi gini fungsi ini fungsi on colision enter itu akan nyetore ngestore gitu loh akan menyimpan objek yang barusan kena colollision atau kena tumbukan nah objek yang barusan kena tumbukan atau kena colision itu distore ke variabel objek yang kena tipenya adalah Collision distore ke objek yang kena Nah nanti kita akan cek if jika objek yang kenatrform.care tag Enemy jika objek yang kena itu tagnya ada Adah Enemy maka kita akan objek yang kena dogame object.get component kita mau ambil komponennya nih ya kan semisal objek yang kena Enemy Maka kalau objek yang kena Enemy kita mau ambil komponen light-nya ini gitu loh Kita mau akses komponen light-nya ini yang ada di Enemy gitu kita mau akses komponen light-nya lalu kita mau tulis do enbled false artinya kalau enable true dia centang tapi kalau enable false dia mati nah mau kita matikan Kalau mau kita matikan gini maka di sini do enable false gitu gitu ya Jadi kalian harus paham-paham juga bahasa Inggris Supaya bisa mengerti coding ini dengan mudah gitu gitu nah pertanyaannya Ini kok harus transform ini kok harus game object gimana ya bacanya gini loh kalau semisal di sini kita mau langsung nulis objek yang kena doget component kan Engak ada tuh kalau enggak ada get komponennya ini kan enggak ada auto compitnya nih kalau enggak ada get komonennya kita tulis dulu di sini game object dog component gitu get component l enable false juga sama yang ini objek yang kena kan kita mau compare tag tapi kan di sini kalau kita Tuliskan do compare tag Enggak ada tuh ya kan Ya udah di sini kita bisa tulis aja gameobject.care tag gitu atau bisa kita tulis aja dtransform.comare tag gitu Nah karena kalau semisal di sini kita tulis compare tag atau yang mau kita inginkan tuh enggak ada Ya udah kita tulis dulu gameob.care Tag kemudian apa yang mau kita compare Enemy tuh ini kurang satu kurung lagi Kemudian ini hapus oke kayak gini itu udah paham ya oke deh udah paham Nah itu Ah kayak gitu teman-teman seperti itu gitu teman-teman mungkin kalau kalian mau tahu satu hal lagi nih mungkin ketika eneminnya kena eneminya juga mau aku matiin deh gitu jadi di sini maka aku tulis objectek yang kena dgameobject.setactive false nah ini bacanya Gimana jadi nih kalian perhatikan objek eneminnya ini Oke kalau aku tembak eneminya nah dia mati tuh nih eneminya mati nih mati tuh kan Mati kan Tuh ya perhatikan eneminya ini kalau Aku kenain eneminya BEM tuh mati tuh dia mati tuh mati gitu gitu jadi logikanya tuh enak sebetulnya coding teman-teman seru gitu loh oke Ini aku hapus aja oke sekarang aku mau kalian lihat satu hal lagi kalian lihat satu hal kalau kita semakin banyak menembak kayak gini semakin banyak buletnya dong nah ini buletnya semakin banyak nih buletnya semakin banyak banget sampai bisa disroll ke bawah kayak gini semakin banyak bulat kayak gini nanti gamennya semakin berat loh karena kan semakin banyak objek ya kan semakin banyak objek yang kepaw gini semakin berat tuh gameennya tuh ya kalian bisa buka gamennya ini kalian lebarin lalu kalian buka ini STS nah ini akan ada tulisan di sini FPS sama bes bes ini Tris ini ini semakin tinggi nilainya semakin berat gameu nih ya bajesnya semakin naik nih kalau aku semakin menembak tuh semakin naik tuh trisnya juga semakin naik nah ini semakin berat tuh gameu gitu oke nah fps-nya juga semakin drop nah objek-objeknya pun semakin banyak semakin berat nah gimana caranya supaya bulatnya itu bisa hilang dengan sendirinya tuh ketika dia Udah terlalu lama di situ jadi ketika bulet kita tembak nah nah ketika bulet kita tembak kita misalnya Tunggu selama 3 detik baru nanti buletnya tiba-tiba bisa hilang bisa hilang kayak gini nih buletnya langsung keedestroy kayak gini langsung kita delete kayak gini nah kayak gitu ya jadi kita nembak kemudian buletnya ini perlahan-lahan nanti akan delete delete delete delete delete delete delete biar enggak banyak-banyakin objek biar enggak berat nah caranya gimana caranya gimana Oyo tahu enggak nah caranya gini kita ke script Bullet ini teman-teman ya kita ke script Bullet lalu di sini kita tulis fungsi start kita tulis start Oke kita tulis start oke lalu di fungsi start ini kita mau tulis i enumerator ya lifetime gitu aja deh namain aja lifetime oke lalu di sini kurung kayak gini Oke Mungkin biar kalian gak bingung ya Ini aku ulangi aku hapus ini aku mau tulis i numeratornya di sini enumerator lifetime kayak gini lalu kayak gini Oke lalu di sini aku mau tulis yield Oke return new wait for second Oke kita tunggu selama 3 detik lalu setelah itu kita akan destroy game object oke lalu di sini kita mau panggil fungsi lifetime ini nah lifetime ini kan fungsi fungsi tapi tipenya iumerator nah untuk memanggil fungsi bertipe iumerator kita gak bisa langsung tulis lifetime lalu kayak gini gak bisa gak boleh untuk memanggil fungsi bertipe iumerator kita harus tulisnya kayak gini ya ini kalian tulis di start ya start kutin nah Tulisnya gini harus start k rutin baru kurung kita tulis nama fungsinya lifetime baru kurung kurung kayak gini seperti itu jadi logikanya tu fungsi I numerator itu adalah FSI yang bisa gunakan detikan atau fungsi yang bisa menggunakan kita mau nunggu dulu nih jadi ini bacanya gini di fungsi iumerator lifetime kita akan nunggu dulu selama 3 detik kita akan delay dulu selama 3 detik setelah kita delay selama 3 detik maka kita akan destroy game object atau kita akan destroy diri kita sendiri ya ketika kita cuma nulis game object itu artinya ng-refer ke diri kita sendiri game objek kita sendiri jadi cara bacanya di fungsi start dia akan menjalankan fungsi I numerator lifetime fungsi I numerator itu harus dijalankan menggunakan start co routin baru nama fungsinya nah di fungsi I numerator ini kita akan delay dulu selama 3 detik kita akan tunggu dulu selama 3 detik setelah kita nunggu selama 3 detik baru kita akan destroy game object atau destroy diri kita sendiri Jadi sekarang ketika kita play kalian perhatikan ini aku tembak bulet kalian perhatikan nih buletnya kita tunggu 3 detik Nah tuh dia akan hilang Oke kita tembak lagi BEM B BEM kita tunggu nih 3 detik nanti dia akan hilang satu persatu nih nah tuh kan gitu nanti dia akan hilang satu persatu nah gitu gitu teman-teman gitu dia akan destroy gitu oke deh seperti itu teman-teman gitu ya mungkin kalau dari kalian ada yang mau ditanyakan atau ada kendala boleh kolom komentar di bawah kalian gunakan ya untuk saling bertanya gitu teman-teman oke nah buat kalian ya teman-teman yang ingin belajar bikin game lebih lanjut kalian bisa kunjungi Link yang ada di bio di youtubeku ini ya link kit/agal nikol lalu kalian akan diarahkan ke sini di sini teman-teman aku ngajarin kalian bikin game sampai full jadi nih ini ya kalian pilih yang ini third% Shooter Unity C Sharp di sini aku ngajarin kalian bikin game pakai coding ya nih sampai jadi nih sampai nah tuh tuh bagus kan tuh Kalian bisa nembbak-nembak musuh Kalian ada macam-macam senjatanya di sini aku ajarin pakai aset ya asetnya komplit lagi ada environment-nya aku ajarin Gimana cara bikin ng Aim gitu ya kemudian nah ini kita bisa bikin sistem weapon touch nih yait weapon touch recoil-nya berapa kemudian range weapon-nya gimana tuh weapon-nya kalau kita naikkan recoil-nya nah ini juga sistem object pulling ini supaya gameennya lebih optimal gitu ya kemudian ada Enemy Ai aku ngajarin kalian bikin Ai Enemy kemudian ada field of view gimana supaya nanti Enemy bisa mendeteksi gitu ya mendeteksi Play gitu kemudian ini ada state machine nih ini namanya state machine gitu state machine kemudian ada main menu level selection kemudian ada partikle ada berbagai map gitu Jadi nanti setiap level map-nya beda-beda ada save system nah ini setiap level Nanti bisa kita save ini sudah keunlock atau belum seperti itu ada post Processing ada grafik nih jadi grafiknya jadi lebih cantik lagi jadi aku ngajarin macam-macam teman-teman di kurs ini ya eneminnya juga berbeda-beda dan Selain itu aku juga ngajarin codingnya mendalam nih kalian bisa cek dulu Bagaimana cara pengajaran codingku Apakah mudah dipahami atau tidak Gitu ya kalian bisa coba-coba kepokin dulu aja deh gitu lalu di sini nih yang kamu dapatkan 36 video tutorial durasi 10 jam untuk yang awam coding sekalipun jadi di sini aku betul-betul ngajarin kalian dengan bahasa yang mudah dipahami oleh orang awam coding gitu aset edukasi lengkap Iya loh aset edukasi lengkap ada 3D model animasi visual effect nih kalian lihat ke bawah nih ini adalah aset edukasi yang kamu dapatkan nih ini ini 3D modelnya nih 3D modelnya macam-macam nih nih tuh ada karakter-karakter environmentnya macam-macam ya kalian boleh kepoin dulu aja deh tuh tuh karakternya komplit Jadi kalian belajar ini sudahah langsung all inone dapat Paket karakter-karakternya kemudian Nah itu tuh tu tuh ada yangah kan macam-macam ada wwolf segala gitu loh ada Kesatria ada troll ya Ada or tuh karakternya macam-macam nah ini environmentnya juga macam-macam ya kemudian selain ada itu ada visual effect juga kita nih tuh ada visual effect ya komplit visual effectnya macam-macam nih ada kayak partikel-partikel pick up nih ya nah sebentar Nah ini ada api partikle pick up ini ada apa lagi nih kalian boleh kepokin dulu ada asap berbagai smoke gitu kan macam-macam teman-teman jadi aku nyediain e course ini tuh betul-betul all inone buat kalian yang ingin belajar tuh partikel visual effectnya udah komplit Selain itu bukan cuma itu tok kita juga nyediain ini nih GUI atau ui ui nih ui ui itu ini UI teman-teman kayak Button kemudian Bintang kayak gini kemudian kayak pop up window kayak gini kartu-kartu Kayak gini ini UI aku ngasih juga ui-nya ke kalian tuh UI inventory ui ui E ini Hero selection kayak gini komplit teman-teman Nah ini icon-icon kayak gini ribben Kayak gini ya Nah kemudian Selain itu pun juga aku masih ngasih animasi loh bayangin animasinya komplit nih animasinya macam-macam kalian bisa cek animasi-animasinya nih pukul-pukulannya ada yang pakai pedang lagi Kemudian ya jadi Nanti kalian bisa bikin musuh yang bervariasi tuh musuh yang pakai tombak musuh yang bisa nendang musuh yang pakai kapak gitu ya Belum ada yang pakai crossbow lagi kan musuhnya nanti mungkin atau playernya mungkin yang mau pakai crossbow animasinya komplit ya Selain itu ada senjata lagi di sini ini ada yang Sword and shield pedang dan Shield gitu ya macam-macam ini ada yang dua senjata double weapon ya animasinya komplit teman-teman aku nyediain animasinya komplit kalian boleh kepoin sendiri lalu Selain itu ada state machine state Maine ini kayak otaknya Ai gitu Nah di sini kita bisa bikin state-state untuk otak Ai gitu teman-teman state machine itu kayak otaknya Ai gitu nah gini nanti ketika kita bikin Enemy Ai kita akan banyak pakai state kayak gini nah state kayak gini nih nah ini state nih jadi nanti ai-nya mau ngapa aja gitu loh Apakah ai-nya mau patroli atau mau jalanj atau menyerang musuh ini adalah stage-stage kayak gini gitu jadi betul-betul kurs ini udah dirancang untuk pemula dan ini sudah starter packnya beginner banget gitu loh dirancang khusus pemula yang enggak paham sama sekali tentang Unity bahkan enggak paham sama sekali tentang coding jadi memang kalau aku ngajarin ke kalian itu betul-betul kayak aku ngajarin ke anak umur 5 tahun gitu supaya kalian betul-betul paham dan juga kalian tergabung dalam grup komunitas Wa Ya jadi kayak gini teman-teman aku tunjukin nih Nah ini teman-teman nih komunitas wa-nya ini tuh kita udah sering sharing-sharing nih kalau ada kendala tuh tuh ada teman-teman yang ada error Nah ini kan kayak ada error dia ngirim video eah ngirim video nanti kita bantu tuh tuh berkendala banyak yang berkendala selain itu kita juga nih sampai kita Google meet-an nih meet bogle bareng-bareng gitu kalau ada yang error nanti nah ini jadi jadi gini loh kalian tuh betul-betul kalau mengikutin kurs ini ya yang ini nih ini yang buat kalian mau belajar pakai coding kalau kalian yang mau belajar tanpa coding bisa pilih yang di bawah ini ini semuanya tanpa coding ya kalau yang mau pakai coding yang ini jadi kalau kalian ngikutin kurs ini kalian betul-betul dirawat gitu loh betul-betul dijaga sampai bisa soalnya betul-betul diperhatikan ini ada ada komunitas wa-nya gitu dan aku ngajarinnya betul-betul pakai bahasa yang mudah dipahami bahkan kita sering Google meet-an gitu loh ya Jadi buat kalian yang betul-betul serius ingin belajar nih kalian bisa nih lewat Link yang ada di bio lalu kalau yang buat pakai coding kalian pilih yang ini buat kalian yang mau Belajar bikin coding game-nya pakai ini kalau buat kalian yang ingin belajar tanpa coding boleh pilih ada tiga pilihannya nih zombiie Shooter simulator restoran ataupun hack and slash pedang-pedangan gitu Tapi kalau coding untuk saat ini adalah ini third person shooter Oke kalian boleh kepoin dulu kalian cek-cek dulu teman-teman kalau gitu sampai jumpa di komunitas wa ini supaya kita bisa ketemu Oke dan kita bisa saling bantu Oke thank you ya teman-teman ya