Სარჩევი:

თამაშის განვითარება 101: რჩევები და ხრიკები!: 11 ნაბიჯი
თამაშის განვითარება 101: რჩევები და ხრიკები!: 11 ნაბიჯი

ვიდეო: თამაშის განვითარება 101: რჩევები და ხრიკები!: 11 ნაბიჯი

ვიდეო: თამაშის განვითარება 101: რჩევები და ხრიკები!: 11 ნაბიჯი
ვიდეო: ლუკა და მარიამი 2024, ივლისი
Anonim
თამაშის განვითარება 101: რჩევები და ხრიკები!
თამაშის განვითარება 101: რჩევები და ხრიკები!

ასე რომ, მოგწონთ ვიდეო თამაშების თამაში? ალბათ დროა, შენ თვითონ ააშენე ერთი!

არ არის ლამაზი? იდეა, რომ თქვენ უნდა შექმნათ თქვენი საკუთარი სამყარო, თქვენი წესებისა და ფანტაზიების საფუძველზე? Ვფიქრობ, ეს არის.

მაგრამ მოდით შევხედოთ რეალობას ჯერჯერობით. თქვენ იწყებთ საკუთარი თამაშის შექმნას, უამრავი რესურსი სწავლისთვის, არის youtube და უამრავი სხვა კურსი და ვებ გვერდი! დღეები თვეებად იქცევა, თვეები წლებად და თქვენ იწყებთ მოთმინების დაკარგვას.

სიმართლე ის არის, რომ ეს სულაც არ არის რთული, სინამდვილეში ეს ბევრად უფრო ადვილია და ნაკლებად შრომატევადია ვიდრე გგონიათ!

მინდა გაგიზიაროთ ძალიან მნიშვნელოვანი თემები, რომლებსაც უმეტესობა იგნორირებას უკეთებს, მაგრამ მოგვიანებით ისინი გახდებიან ყველაზე მნიშვნელოვანი მიზეზი, რის გამოც თამაშების უმეტესობა საბოლოოდ არ გამოქვეყნდება.

ყველაზე მნიშვნელოვანი, რაც თამაშის დიზაინერმა/დეველოპერმა უნდა იცოდეს, არის შესრულება. თავიდანვე, ეს უნდა იყოს თქვენი მთავარი ყურადღება. მნიშვნელოვანია, რომ თქვენი თამაში კარგად გამოიყურებოდეს, კარგი გრაფიკით და ყველაფრით, მაგრამ რა აზრი აქვს, თუ თქვენი თამაში მოითხოვს სუპერკომპიუტერს მის გასაშვებად?

და ეს არის ერთადერთი მიზეზი, რის გამოც თამაშების უმეტესობა ჩავარდება.

თუ თქვენ ხართ დაინტერესებული/დამწყები თამაშის შემუშავებით, მინდა იცოდეთ რომ თქვენც შეგიძლიათ ამის გაკეთება! ადვილია და სახალისო. თქვენ უბრალოდ უნდა გაარკვიოთ რისი გაკეთება გსურთ. დიდი გადაწყვეტილების მიღება არის ის, აპირებთ თუ არა ხელოვნების თამაშს, თუ აპირებთ ისეთი რამის გაკეთებას, რაც მთლიანად პროგრამირებაზეა ორიენტირებული, მაგალითად Minecraft.

თუ თქვენ ხართ პროგრამირების ოსტატი, მაგრამ ასევე გინდათ გახადოთ ის მხატვრული, თქვენ გაგიჭირდებათ თამაშის აგება. ეს თქვენთვის გაუგებარი გახდება და თქვენი პრიორიტეტები ერთმანეთში აირია.

თუ თქვენ ხართ დამწყები პროგრამირების უნარ -ჩვევების გარეშე, მე გირჩევთ, პირველ რიგში გააკეთოთ 2D თამაშები, ან შესაძლოა, ხელოვნების თამაში, თუ თქვენ გაართმევთ თავს გამოწვევას (სინამდვილეში ადვილია).

Unity არის თამაშის ძრავა, რომელსაც მე შემოგთავაზებთ, არა მხოლოდ იმიტომ, რომ Unity– მა ხალხს ძალიან გაუადვილა თამაშების გაკეთება, არამედ იმიტომ, რომ არსებობს უამრავი დოკუმენტაცია და რესურსი დასაწყებად.

თითოეული თამაშის ძრავას აქვს თავისი დადებითი და უარყოფითი მხარეები, თუ გსურთ შეადაროთ სანამ დაიწყებთ, მოგერიდებათ გათხრა.

ეს შესანიშნავი ადგილია დასაწყებად! ამ გაკვეთილების გამოყენებით ჯერ გააკეთეთ რამდენიმე 2D თამაში. გამოაქვეყნეთ ისინი და შემდეგ გადადით შემდეგ დიდ პროექტზე! რაც მთავარია, გაერთეთ!:)

[შენიშვნა: მე დავამატე.pdf ფაილი, რომელიც შეიცავს ერთობის კლავიატურის მალსახმობების სიას]

ნაბიჯი 1: (ხრიკი 1) მოცულობითი ნათურები

(ხრიკი 1) მოცულობითი ნათურები!
(ხრიკი 1) მოცულობითი ნათურები!
(ხრიკი 1) მოცულობითი ნათურები!
(ხრიკი 1) მოცულობითი ნათურები!
(ხრიკი 1) მოცულობითი ნათურები!
(ხრიკი 1) მოცულობითი ნათურები!

თუ ოდესმე გითამაშიათ რაიმე ხელოვნების თამაში (ან გინახავთ ვინმეს თამაში), მაგ.: Playdead's Limbo; თქვენ უნდა შეამჩნიოთ როგორ ჩანს სინათლის სხივები ეკრანზე. მშვენივრად გამოიყურება, არა?

შენც შეგიძლია ამის გაკეთება! ბაზარზე ბევრი ინსტრუმენტია (ზოგიერთი მათგანი უფასოა), რომელიც შეიძლება გამოყენებულ იქნას ამისათვის, მაგალითად: აურა. მაგრამ ამ ინსტრუმენტებს შეუძლიათ მნიშვნელოვნად შეამცირონ თქვენი FPS რაოდენობა, რაც გავლენას მოახდენს თქვენი თამაშის მთელ შესრულებაზე.

არსებობს ამის გაკეთების უმარტივესი გზა, რომელიც გავლენას არ მოახდენს შესრულებაზე! ნება მომეცით გაჩვენოთ როგორ!

თქვენ გჭირდებათ 3D მოდელირების ინსტრუმენტი, მე გირჩევთ ბლენდერს (ეს უფასოა!). შეგიძლიათ გადმოწეროთ აქ.

1. გახსენით ბლენდერი. წაშალეთ ყველა არასაჭირო ნივთი ეკრანზე.

2. დააჭირეთ ღილაკს Shift+A თქვენს კლავიატურაზე, რომ დაამატოთ ახალი ბადე.

3. გადადით Mesh> აირჩიეთ Cone!

4. ეს არის ის. შეინახეთ იგი.blend ფაილი, ან შეგიძლიათ მისი სხვა ფორმატში ექსპორტი. დღესდღეობით Unity მხარს უჭერს ფორმატების ფართო სპექტრს.

ახლა დააკოპირეთ ეს მოდელი (კონუსი) და ჩასვით თქვენი პროექტის აქტივების საქაღალდეში.

ჩვენ გვჭირდება ახალი shader ამ კონუსისთვის. მოდით გავაკეთოთ ის Shader

1. გახსენით თქვენი პროექტი Unity– ში.

2. პროექტის ჩანართში, მარჯვენა ღილაკით> შექმნა> Shader.

3. დაარქვით იმ შადერს "გამჭვირვალე შედერი".

4. გახსენით shader ფაილი (monodevelop არის ერთობის ნაგულისხმევი რედაქტორი).

5. დააკოპირეთ კოდი ზემოთ მოცემული სურათიდან.

ესე იგი, ჩვენ ყველანი მზად ვართ! ახლა შეინახე ის შადერი.

ჩვენ უნდა შევქმნათ მასალა, რომ გამოვიყენოთ ჩვენი ახალი Shader:

1. პროექტის ჩანართში, მარჯვენა ღილაკით> შექმნა> მასალა.

2. თქვენ იხილავთ shader ვარიანტს (ჩამოსაშლელი მენიუ) ზედა.

3. შეცვალეთ სტანდარტული shader> Transparent Shader.

დაამატეთ თქვენი კონუსი სცენაზე, შეცვალეთ მასალა ნაგულისხმევი მასალიდან> თქვენ ახალი მასალა

თქვენ შეგიძლიათ შეცვალოთ თქვენი მასალის ფერი იმისდა მიხედვით, თუ რა შუქები გამოიყენებთ. ასევე, გამჭვირვალობის ოდენობა შეიძლება მორგებული იყოს!

ახლა დაამატეთ Spotlight თქვენს კონუსს! Გააკეთო ეს:

1. დააწკაპუნეთ მარჯვენა ღილაკზე თქვენი მოდელის იერარქიაში

2. შუქები> ყურადღების ცენტრში

შეცვალეთ თქვენი ყურადღების ცენტრის ფერი, როგორც გსურთ. დაარეგულირეთ თქვენი ყურადღების ცენტრის ინტენსივობა და დიაპაზონი, თქვენი მოდელის გამჭვირვალობასთან ერთად!

ნაბიჯი 2: (ხრიკი 2) ნისლის გამოყენება

(ხრიკი 2) ნისლის გამოყენება
(ხრიკი 2) ნისლის გამოყენება
(ხრიკი 2) ნისლის გამოყენება
(ხრიკი 2) ნისლის გამოყენება
(ხრიკი 2) ნისლის გამოყენება
(ხრიკი 2) ნისლის გამოყენება
(ხრიკი 2) ნისლის გამოყენება
(ხრიკი 2) ნისლის გამოყენება

ნისლი ძირითადად გამოიყენება ვიდეო თამაშებში სასიამოვნო რეალისტური გარემოს შესაქმნელად. ზოგჯერ მას შეუძლია შეავსოს თამაშის ხელოვნების სტილი.

გარდა ამისა, ვიდეო თამაშების შემუშავებისას ნისლი გამოიყენება კამერისგან შორს მყოფი საგნების დასამალად.

Unity– ში, კამერის თამაშის ობიექტს აქვს ვარიანტი სახელწოდებით "Far Clip plane". ამ პარამეტრის მორგება განსაზღვრავს რამდენად შორს ხედავს თქვენი კამერა. შესრულების გასაზრდელად, ეს მნიშვნელობა ზოგჯერ მცირდება. მაგრამ ჩვენ არ გვინდა, რომ მოთამაშემ შეამჩნიოს, რომ მოთამაშედან შორს მდებარე საგნები რატომღაც გაქრა!

ეს არის ის ადგილი, სადაც ნისლის გამოყენება მოსახერხებელია! დაამატეთ ნისლი თქვენს სცენას, შეცვალეთ ღირებულებები და ეს არის ის!

წაიკითხეთ მეტი ნისლის შესახებ აქ.

ნისლის დასამატებლად თქვენს სცენაზე:

1. გადადით განათების ჩანართზე (ზედა მარჯვენა კუთხე, ინსპექტორის ჩანართის გვერდით)

2. ნისლის ვარიანტი უნდა იყოს ამ ჩანართის ბოლოში.

3. დააწკაპუნეთ ყუთზე გასააქტიურებლად

4. შეცვალეთ თქვენი ნისლის ფერი და სიმკვრივე

ნაბიჯი 3: (ხრიკი 3) ველის სიღრმის გამოყენება

(ხრიკი 3) ველის სიღრმის გამოყენება
(ხრიკი 3) ველის სიღრმის გამოყენება
(ხრიკი 3) ველის სიღრმის გამოყენება
(ხრიკი 3) ველის სიღრმის გამოყენება
(ხრიკი 3) ველის სიღრმის გამოყენება
(ხრიკი 3) ველის სიღრმის გამოყენება
(ხრიკი 3) ველის სიღრმის გამოყენება
(ხრიკი 3) ველის სიღრმის გამოყენება

ოდესმე გამოგიყენებიათ DSLR კამერა სურათების გადასაღებად? გსმენიათ ბოკე? თუ გაქვთ, მაშინ ადვილად მიხვდებით როგორ მუშაობს ველის სიღრმე!

მისი ეფექტი გამოიყენება ფოკუსირების და ბუნდოვანი ეფექტის სიმულაციისთვის, თითქოს თქვენს თამაშში კამერის ობიექტი იყოს რეალური კამერა!

თუმცა, გთხოვთ გაითვალისწინოთ, რომ ამ ეფექტის გამოყენებამ შეიძლება მნიშვნელოვნად შეამციროს თქვენი FPS რაოდენობა

წაიკითხეთ მეტი ველის სიღრმის შესახებ აქ.

შეგიძლიათ მიიღოთ Unity Asset Store– დან, არის ორი ვარიანტი, ძველი ეფექტების პაკეტი და ახალი პოსტის დამუშავების დასტა. რომელიმე მათგანი შეიძლება გამოყენებულ იქნას.

ამ ეფექტის გამოსაყენებლად:

1. ჩამოტვირთეთ შესაბამისი პაკეტი.

2. აირჩიეთ კამერის ობიექტი თქვენს სცენაზე.

3. დააწკაპუნეთ კომპონენტის დამატებაზე.

4. ჩაწერეთ, 'ველის სიღრმე'.

5. შეარჩიეთ შესაფერისი სკრიპტი.

6. შეცვალეთ ღირებულებები.

ნაბიჯი 4: (ხრიკი 4) ბლუმის გამოყენება

(ხრიკი 4) ბლუმის გამოყენება
(ხრიკი 4) ბლუმის გამოყენება
(ხრიკი 4) ბლუმის გამოყენება
(ხრიკი 4) ბლუმის გამოყენება
(ხრიკი 4) ბლუმის გამოყენება
(ხრიკი 4) ბლუმის გამოყენება
(ხრიკი 4) ბლუმის გამოყენება
(ხრიკი 4) ბლუმის გამოყენება

Bloom არის კიდევ ერთი ვიზუალურად განსაცვიფრებელი ეფექტი Unity რედაქტორში.

თუ ოდესმე დაგჭირდებათ სიზმრის მსგავსი სცენის, ან შესაძლოა, ჯადოსნური გარემოს შექმნა, ყვავის ეფექტი დაზოგავს თქვენს დღეს! ის ბუნებრივ ბზინვარებას მატებს სცენის ყველა თამაშის ობიექტს.

წაიკითხეთ მეტი აყვავების შესახებ აქ.

ამ ეფექტის დასამატებლად Unity Asset Store– ში უამრავი ვარიანტია. თუმცა მე გირჩევთ გამოიყენოთ "სწრაფი მობილური აყვავება". მას აქვს მინიმალური გავლენა FPS– ის რაოდენობაზე და ძალიან მოსახერხებელია შესრულებისთვის!

ამ ეფექტის თქვენს სცენაზე დასამატებლად:

1. ჩამოტვირთეთ შესაბამისი პაკეტი.

2. აირჩიეთ თქვენი კამერის ობიექტი სცენაზე.

3. დააწკაპუნეთ კომპონენტის დამატებაზე.

4. ჩაწერეთ "Bloom"

5. შეცვალეთ ღირებულებები საჭიროებისამებრ.

ნაბიჯი 5: (ხრიკი 5) მრავალჯერადი მიმართულების განათება

(ხრიკი 5) მრავალჯერადი მიმართულების განათება
(ხრიკი 5) მრავალჯერადი მიმართულების განათება

მიმართულების განათება ყველაზე ნაკლებ გავლენას ახდენს შესრულებაზე. მაშ, რატომ არ გამოვიყენოთ იგი კარგად?

ჩვენ შეგვიძლია გამოვიყენოთ სხვადასხვა ფერის მრავალი მიმართულების განათება ჩვენი თამაშის ხელოვნების სტილის შესაქმნელად!

მაგ.; დავუშვათ თქვენ აკეთებთ Sci-Fi Cyberpunk-ish თამაშს. ასე რომ თქვენ შეგიძლიათ გამოიყენოთ ერთი მიმართულებისფერი სინათლე, რომელიც მოყვითალოა (მზის მსგავსად), მეორე მიმართულება სინათლის ვარდისფერი ან შესაძლოა მეწამული, რომ დაამატოთ შეფერილი ვიზუალური ეფექტი თქვენს სცენაზე.

ნაბიჯი 6: (ხრიკი 6) სპრიტების გამოყენება ფონად

(ხრიკი 6) სპრიტების გამოყენება ფონად
(ხრიკი 6) სპრიტების გამოყენება ფონად

შესრულებისა და FPS რაოდენობის გასაუმჯობესებლად, Sprites შეიძლება გამოყენებულ იქნას ფაქტობრივი 3D მოდელების ნაცვლად!

ეს დაზოგავს უამრავ დროს (3D მოდელირებას დიდი დრო სჭირდება) და ასევე გააუმჯობესებს თქვენი თამაშის შესრულების ფაქტორებს.

ჩადება სპრაიტი adobe illustrator– ში, ექსპორტის სახით-p.webp

იმის გასაგებად, თუ როგორ მუშაობს სპირტი, დააწკაპუნეთ აქ.

ეს არის ვიდეო დემონსტრირება იმის შესახებ, თუ როგორ დაამატოთ Sprites თქვენს სცენაზე.

ნაბიჯი 7: (რჩევა 1) როგორ გავზარდოთ CPU/GPU შესრულება

(რჩევა 1) როგორ გავზარდოთ CPU/GPU შესრულება!
(რჩევა 1) როგორ გავზარდოთ CPU/GPU შესრულება!
(რჩევა 1) როგორ გავზარდოთ CPU/GPU შესრულება!
(რჩევა 1) როგორ გავზარდოთ CPU/GPU შესრულება!

ეს არის ალბათ ყველაზე მნიშვნელოვანი რამ, რაც უზარმაზარ გავლენას ახდენს შესრულებაზე, მაგრამ ხშირად იგნორირებულია დეველოპერების მიერ:

1. ყოველთვის ეცადეთ ბადეების რაოდენობა რაც შეიძლება დაბალი იყოს. მაგ.; თუ კალათაში გაქვთ რამდენიმე ხილი, მნიშვნელოვანია, რომ ის გახადოთ ერთი ბადისებრი თქვენს სამგანზომილებიან ინსტრუმენტში, ვიდრე ცალკე ვაშლი, ბანანი, ყურძენი და ა.

2. გამოიყენეთ რაც შეიძლება ნაკლები მასალა. ყოველთვის ეცადეთ გამოიყენოთ ერთი მასალა/ბადე, ვიდრე ხუთი. მასალების რენდერირება და ბადის წარმოება ერთნაირია CPU– სთვის.

3. Unity– ს აქვს ძალიან მოსახერხებელი ფუნქცია სახელწოდებით 'Batching'. არსებობს ორი სახის შეჯვარება, სტატიკური და დინამიური. ფართოდ გამოიყენება სტატიკური პარტირება. ის აერთიანებს სტატიკურ (არ მოძრაობს) სათამაშო ობიექტებს დიდ ბადეებში და აწვდის მათ უფრო სწრაფად. სტატიკური სურათების გასააქტიურებლად შეარჩიეთ gameobject> ინსპექტორის ჩანართში, ზედა მარჯვენა კუთხეში, დააწკაპუნეთ ყუთზე, სადაც ნათქვამია "სტატიკური". მნიშვნელოვანია გვახსოვდეს, რომ სათამაშო ობიექტები არ უნდა მოძრაობდეს და რომ მხოლოდ ერთიდაიგივე მასალის მქონე ობიექტების ერთად შეჯგუფება შეიძლება.

შეჯამების შესახებ მეტი რომ წაიკითხოთ, დააწკაპუნეთ აქ.

4. ტექსტურები. იმ ფაილები, რომლებიც შემოაქვთ თქვენი მასალების ახალი მასალის შესაქმნელად. ეს არის ჩვეულებრივი დამნაშავეები, რომლებიც შეანელებენ თქვენს გრაფიკულ მუშაობას. ყოველთვის გამოიყენეთ მცირე ზომის ტექსტურები (მაგრამ არა დაბალი ხარისხის).

5. სხვა მნიშვნელოვანი რამ არის სამკუთხედების რაოდენობა, რომლებიც გამოიყენება თქვენი პერსონაჟების 3D მოდელებში. ასე რომ, მაქსიმალურად ეცადეთ სამკუთხედის რაოდენობა დაბალი იყოს, ხოლო ხარისხზე კომპრომისზე უარი თქვათ.

ნაბიჯი 8: (რჩევა 2) შესრულება Vs Lights

სინათლის იერარქია ეფუძნება მათ ეფექტს შესრულებაზე:

თქვენს სცენებში განათების გამოყენება მშვენივრად გამოიყურება, მაგრამ გახსოვდეთ, რომ არ გამოიყენოთ მეტი განათება, ვიდრე აბსოლუტურად აუცილებელია. დამუშავების ბევრი დრო სჭირდება, რათა გამოვთვალოთ შუქის გავლენა მიმდებარე ობიექტებზე

გთხოვთ გაითვალისწინოთ შემდეგი:

1. პროჟექტორები ყველაზე ძვირადღირებული ნათურები არიან, როდესაც საქმე შესრულებას ეხება. თუ შესაძლებელია მათი შეცვლა წერტილოვანი ნათურებით, გააკეთე ეს!

2. Spotlights და Point განათებებს აქვთ დიაპაზონი. მას შეუძლია გავლენა იქონიოს მხოლოდ ობიექტებზე, რომლებიც დიაპაზონშია. თუ თქვენ გაქვთ დიდი რაოდენობის ობიექტი გასანათებლად, ვიდრე ერთი მაღალი დიაპაზონის შუქის გამოყენებით, გამოიყენეთ მცირე ზომის დიაპაზონის მრავალჯერადი განათება! ობიექტების უფრო დიდი რაოდენობა, რომელთა გამოყენებაც შესაძლებელია შუქით, ნიშნავს უფრო მეტ გამოთვლას, შესაბამისად, დაბალ შესრულებას.

3. მნიშვნელოვანია აღინიშნოს, რომ ბადე რეაგირებს მხოლოდ რვა ყველაზე ნათელ შუქზე, რომელიც გავლენას ახდენს ამ ბადეზე.

ნაბიჯი 9: (რჩევა 3) Scripting Vs Performance

1. განახლება და ფიქსირებული განახლების ფუნქციები, არ გამოიყენოთ ისინი, თუ ეს არ არის აუცილებელი. ზოგჯერ სხვა გზა არ არსებობს და თქვენ უბრალოდ უნდა გამოიყენოთ ეს ფუნქციები. ამ შემთხვევაში, შეინახეთ იგი პატარა და მარტივი. ნუ მოათავსებთ უამრავ ნივთს ამ ფუნქციების ქვეშ. ამ ფუნქციებს წამში რამდენჯერმე ეძახიან და მართლაც შეიძლება დაემატოს, თუ თქვენ გაქვთ სკრიპტების დიდი რაოდენობა განახლების ფუნქციებით.

2. Unity monodevelop- ს აქვს სტანდარტულად Update (). თუ თქვენ არ იყენებთ მას, წაშალეთ იგი ნებისმიერი სკრიპტიდან, რომელიც მას აქვს, მაგრამ თქვენ არ იყენებთ მას.

3. კოროუტინები შეიძლება გამოყენებულ იქნას როგორც ჯანსაღი ალტერნატივა ზარების განახლებისთვის.

4. ყოველთვის გახსოვდეთ, რომ გამორთოთ ნებისმიერი მონოქცევითი სკრიპტი, რომელსაც აღარ იყენებთ, მაგრამ მაინც აქტიურია თქვენს სცენაზე.

5. ყოველთვის შეეცადეთ გამოიძახოთ ფუნქციები რაც შეიძლება პირდაპირ.

ნაბიჯი 10: (რჩევა 4) აუდიო გაუმჯობესებები

არ გამოიყენოთ შეკუმშული აუდიო ფაილები მცირე ხმოვანი ეფექტების დასაკრავად, როგორიცაა სროლა. ეს გამოიწვევს CPU– ს გარკვეული დრო (არასაჭიროდ) გაატაროს მისი შეკუმშვის დროს.

ნაბიჯი 11: დასკვნა

Გამოკვლევა! ეს არის ფაქტიურად საუკეთესო რჩევა, რისი მიცემაც შესაძლებელია. გამოიკვლიეთ კონცეფციები, კონცეფციის ხელოვნება, ნახეთ რას აშენებენ სხვა ადამიანები, მიიღეთ იდეები, შექმენით ეს იდეები!

გირჩევთ: