Как сделать игру про человека паука на unity

Добавил пользователь Skiper
Обновлено: 19.09.2024

using UnityEngine ;
using System.Collections ;

public class HealthBar : MonoBehaviour <
//Для показа и скрытия бара
public bool showBar ;
//Ширина бара
public float barWidth ;
//Высота бара
public float barHeight ;
//Хп, которое будет отображаться в баре
public int health ;
public int healthMax ;

// Use this for initialization
void Start ( ) <
//Скрываем бар при старте
showBar = false ;
>

// Update is called once per frame
void Update ( )

void OnGUI ( )
<
//Если бар показывается
if ( showBar )
<
//Создаём строку, которая будет отображаться в 2 вариантах
string str ;
if ( health > 0 ) < str = health + " / " + healthMax ; >
else < str = "Dead" ; >
//Рисуем бар
GUI. Box (
new Rect ( Screen. width / 2 - barWidth / 2, barHeight, barWidth, barHeight ) ,
str ) ;
>
>
>

using UnityEngine ;
using System.Collections ;

public class Health : MonoBehaviour <
//Хп врага
public int health ;
public int healthMax ;

// Use this for initialization
void Start ( ) <
//Хп становится максимальным при старте
health = healthMax ;
>

// Update is called once per frame
void Update ( )


Скрипт, который вешается на камеру. . Камера без Collider. Иначе, добавьте игнорирование коллайдера .

using UnityEngine ;
using System.Collections ;

public class Shoot : MonoBehaviour <
//Префаб с пулей
public GameObject bullet ;
//Сила выстрела
public float force ;
// Use this for initialization
void Start ( )

// Update is called once per frame
void Update ( ) <
//Если нажимается левая кнопка мыши
if ( Input. GetMouseButtonDown ( 0 ) )
<
//Если префаб с пулей указан
if ( bullet )
<
//Создаётся объект (объект, точка создания, его ротация)
GameObject go = Instantiate ( bullet, transform . position , transform . rotation ) as GameObject ;
//Придание объекту ускарение с помощью импульса
go. rigidbody . AddForce ( transform . forward * force, ForceMode. Impulse ) ;
>
>
>
>

using UnityEngine ;
using System.Collections ;

public class Bullet : MonoBehaviour <
//Величина урона
public int damage ;
//Объект со скриптом бара
public GameObject barObject ;
public HealthBar healthBarScript ;

// Use this for initialization
void Start ( ) <
//Находим бар
barObject = GameObject . Find ( "Bar" ) ;
//Получаем бар с найденного объекта
healthBarScript = barObject. GetComponent HealthBar > ( ) ;
>

// Update is called once per frame
void Update ( )

Debug. Log ( "No scripts" ) ;
>
>
//Удаляем объект
Destroy ( gameObject ) ;
>
>


Создаем скрипт PlayerControl

Чтобы всё работало как надо, персонажу нужно придумать и назначить отдельный слой. Это нужно для того, чтобы работал Raycast в скрипте, который определяет возможность прыжка и в тоже время для того, чтобы любой другой Raycast, мог взаимодействовать и игроком.

Всё достаточно просто. Различные детали, каждый сможет настроить под себя, плюс можно еще сделать материал для физики тела, например, чтоб увеличить коэффициент трения или наоборот, изменить массу Rigidbody, ну и прочее. В общем, поэкспериментируйте с настройками.

Совсем недавно, на нашем сайте, было опубликовано несколько статей о том, как создать анимацию и о том, как заставить двигаться персонажа, при создании 2d игры в Unity. В этой статье мы хотим показать вам как на основе тех знаний и на основе новых, которые мы получим в ходе изучения этой статьи, создать простой 2d кликер-платформер.

Итак, на основе этих статей:

и использования готовых 2d спрайтов из этой статьи

pers2d

Мы уже подготовили готовую сцену с работоспособным персонажем

Ну если разобрать более детально, то :

    • на игровой объект (GameObject) помещаем компонент Sprite Renderer, где в поле Sprite помещаем нужный нам спрайт (изображение)
    • добавляем компоненты Collider 2d, Box или Circle в зависимости от строения изображения, можно несколько
    • компонент Rigidbody 2D обязательно, так как он будет отвечать за движение персонажа
    • компонент Animator с нужной нам анимацией
    • ну и несколько скриптов, первый скрипт отвечает за перемещение персонажа по сцена
    • Ну и второй скрипт, который будет отвечать за назначение клавиш управления персонажем

    Собственно, при наличии вышеперечисленных компонентов можно создать управляемый объект на сцене.

    Далее, на создании самой сцены мы останавливаться не будем, она может выглядеть на ваш вкус и цвет, ну и если вы это читаете, то наверняка умеете переносить игровые объекты на сцену. А вот на самих игровых объектах остановимся поподробней.

    Суть игры — пройти уровень не потеряв жизни, собственно не умереть, в этом нам помогут вспомогательные объекты, которые мы разместим на сцене и помешают различные преграды.

    Разместим на сцене поваленное дерево, которое помешает пройти нашему персонажу и от которого нужно избавится, как вариант — разрубить.

    brevno2d

    Поместим дерево и топор, который поможет нам пройти. На них поместим объекты Box Collider2d и обработчик Event Trigger (про это больше упоминать не будем, эти компоненты будут присутствовать на всех последующих игровых объектах )

    Создадим простой скрипт, где при нажатии мышкой на объект топор он будет как-бы в руке и при нажатии мышкой на дерево мы будем проверять, если топор в руке то удаляем дерево, если нет …. то нет.

    Теперь вернемся к объектам на сцене (топор и дерево), поместим этот скрипт на них, в компоненте Event Trigger создадим новый тип Pointer Click и укажем эти объекты в этом типе (каждый в своем), так же укажем скрипт и функцию OnClick. Ну и не забудьте присвоить тэги объектам, которые указали в скрипте.

    У меня немного доработано, но смысл тот же:

    Подходим к дереву, но оно не дает нам пройти, нажимаем на него ничего не происходит

    derevo2d


    находи топор, берем его

    topor2d

    и снова к дереву, дерево исчезает

    styk2d

    Первая преграда пройдена, далее реализуем столкновение персонажа с игровыми объектами, например, поместим на сцену паука и при столкновении с ним персонажа будет отбрасывать назад.

    pauk2d

    Создадим еще один скрипт в котором будем использовать функцию обработки столкновений коллайдеров

    Соответственно, на паука вешаем Box Collider с галочкой isTrigger и указываем тэг, который указали в скрипте.

    pauk2d

    На основе функции OnClick() и OnTriggerEnter2D(Collider2D other) можно и дальше размещать объекты на сцене, которые будут преграждать путь или будут помогать персонажу пройти уровень.

    Итак, я немного доработал и в итоге вы можете посмотреть на видео что может получится.

    В этой игре вы будете создавать своего собственного виртуального воина, который будет обладать определенным набором технических характеристик, и который будет сражаться с плохими парнями! Для начала выбираете пол бойца, а после работаете с его облачением. На ваш выбор предлагается большой выбор элементов одежды, а вы вольны выбирать то, что вам больше подходит. Когда выбрали одежду, ее можно разукрасить. Воина можно так нарядить и разукрасить так, чтобы он объединял в себе типажи сразу нескольких супергероев.

    Клавиша mouse

    Мышкой

    Здесь вы можете бесплатно поиграть в онлайн игру - Создай Своего Человека Паука , оригинальное название - Create Your Own Web Warrior . В эту игру сыграли 264477 раз(а) и она получила оценку 4.3 из 5, проголосовали 447 человек(а).

    • Платформа: Веб браузер ( ПК, мобильные телефоны и планшеты )
    • Технология: html5 . Работает во всех современных браузерах
    • Возможность играть на весь экран

    Как играть?

    Создание собственного веб-бойца начинается с выбора его пола, и это не случайно. Далее работаете над костюмом, выбирая из всех возможных вариантов цвета и элементы прикида. Отнеситесь к этому внимательно, так как в этом наряде супергерою провести не один день, а потому одежда должна быть удобной и практичной. Все управление в игре осуществляется мышкой, а потому с этим не должно быть проблем!
    Ваш виртуальный супергерой будет смело защищать просторы Интернета от всякой нечисти, которой в играх в последнее время развелось очень много. Многим нравится создавать человека-паука, трансформируя его всячески и подстраивая под себя.
    Все положительные герои скажут вам только спасибо за создание такого классного супербойца!

    Marvel’s Spider-Man для PlayStation 4 был настоящим праздником, а его обновленная версия для PlayStation 5 была даже лучше. Несмотря на то, как здорово играть Питером Паркером в обеих версиях, одна вещь, которую ни одна из версий не могла сделать, — это действительно поставить вас за маску Человека-паука.

    Однако один игрок придумал уникальный способ дать людям возможность увидеть, как выглядит игра глазами Питера Паркера: покадровая съемка.

    Как вы можете видеть на видео на YouTube выше, создатель ItIsSpid решил взять на себя непростую задачу — показать нам, как проходит Нью-Йорк от Insomniac Games на PlayStation 5, как через Питера Пакера, так и Майлза Моралеса, и это выглядит потрясающе. Нас ждут минуты и 40 секунд сотен скриншотов от первого лица (благодаря впечатляющим фото режимам игры), и мы никогда больше не хотели игру с Человеком-пауком от первого лица.

    Конечно, вашим глазам требуется пара секунд, чтобы приспособиться к эффекту покадровой анимации, но когда он поет, он выглядит великолепно.

    Чтобы узнать больше, ознакомьтесь с нашими обзорами этих двух игр в ITB’s Обзор Marvel’s Spider-Man и ITB’s Marvel’s Spider-Man: обзор Майлза Моралеса. Обязательно ознакомьтесь с этим раскрытием Marvel’s Spider-Man 2 после этого.

    Читайте также: