Logo SatellaSoft



Trocas de personagens de Obscure 2 com Unity 2017

Aprenda a intercalar personagem utilizando o Unity 2017 no estilo do jogo Obscure 2.


Ícone homem Gunnar Correa
Ícone data de publicação 19/08/2017
Ícone quantidade de visualização 338
Ícone bandeira do Brasil Português

ObsCure II é um jogo estilo Survival horror desenvolvido pela Hydravision, lançado em 2007 para Playstation 2, Nintendo Wii e PC. Este é o segundo jogo da série Obscure. Em relação ao primeiro game da série, ObsCure 2 possui melhores gráficos, uma quantidade maior de personagens controláveis, maior dificuldade e tempo de duração. O jogo se passa em diversos cenários, como na faculdade de Fallcreek, Hospital, Florestas, entre muitos outros.  A trilha sonora do jogo também é muito marcante, principalmente em cenas onde os personagens são psicologicamente abalados por alguma tragédia.

O jogo possui diversos puzzles, em alguns dos casos, eles precisam ser solucionados com personagens específicos, como Hackear uma porta logo no início do jogo com a personagem Mei.

O tempo todo o jogador pode intercalar entre personagens, e em lugares específicos quando toda a turma está reunida, você pode escolher quem fará parte da sua dupla. Cada jogador possui determinadas habilidade, como:

Stan Jones: Sua habilidade é destrancar portas com uma espécie de arame.

Amy Brookes: Está é uma garota muito atraente, mas não se deixe levar por isso, ela é extremamente inteligente e responsável por resolver diversos puzzles durante todo o game.

Shannon Matthews: Após uma contaminação com uma flor, ela possui habilidade de controlar áureas negras, assim liberando passagens para que o jogador possa progredir no game.

Agora que você conheceu um pouco do jogo ou relembrou de quando jogava, confira as duas videoaula abaixo de como recriar esta estrutura.

 

Parte 1 – Preparando o ambiente

Parte 2 – Trocando os personagens

 

Confira os scripts utilizados nas videoaula.

Player.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour
{

    private Animator _anima;

    public GameObject _pontToRaycast = null;
    public float _velocidadeRotacao = 10;
    public static bool _controlar = true;
    private bool _proximoPlayer = false;
    private string _playerName = "";
    void Start()
    {
        _anima = this.GetComponent<Animator>();
    }

    void FixedUpdate()
    {
        _proximoPlayer = false;
        if (_pontToRaycast != null)
        {
            RaycastHit hit;

            if (Physics.Raycast(_pontToRaycast.transform.position, _pontToRaycast.transform.forward, out hit, 3))
            {
                Vector3 forward = transform.TransformDirection(Vector3.forward) * 10;
                Debug.DrawRay(_pontToRaycast.transform.position, forward, Color.red);

                if (hit.collider.GetComponent<Player>())
                {
                    _playerName = hit.collider.gameObject.name;
                    _proximoPlayer = true;
                }
            }
        }
    }

    void Update()
    {
        if (_controlar)
        {
            _anima.SetFloat("Andar", Input.GetAxis("Vertical"));
            this.transform.Rotate(0, ((_velocidadeRotacao * Input.GetAxis("Horizontal")) * Time.deltaTime), 0);

            if (_proximoPlayer == true && Input.GetKeyDown(KeyCode.Space))
            {
                PlayerController._playerName = _playerName;
            }
        }
    }
}

PlayerController.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
{

    public GameObject[] _jogadores = new GameObject[4];
    public int[] _dupla = new int[2];
    public static string _playerName = "";

    private int _playerAtual;
    private int _indiceAtual = 0;
    void Start()
    {
        _playerAtual = _dupla[0];
        AlterarPlayer(_dupla[1]);
    }


    void Update()
    {
        if (_playerName != "")
        {
            int _parceiroPos = TrocarParceiro(_playerName);

            if (_parceiroPos >= 0)
            {
                if (_indiceAtual == 0)
                {
                    _dupla[1] = _parceiroPos;
                    AlterarPlayer(_dupla[0]);
                }
                else
                {
                    _dupla[0] = _parceiroPos;
                    AlterarPlayer(_dupla[1]);
                }
            }
            _playerName = "";
        }


        if (Input.GetKeyDown(KeyCode.Tab))
        {
            if (_playerAtual == _dupla[0])
            {
                _indiceAtual = 1;
                _playerAtual = _dupla[1];
                AlterarPlayer(_dupla[0]);
            }
            else
            {
                _indiceAtual = 0;
                _playerAtual = _dupla[0];
                AlterarPlayer(_dupla[1]);
            }
        }
    }

    private void AlterarPlayer(int _playerAntigo)
    {
        _jogadores[_playerAntigo].GetComponent<Player>().enabled = false;
        _jogadores[_playerAntigo].transform.GetChild(0).gameObject.SetActive(false);

        _jogadores[_playerAtual].GetComponent<Player>().enabled = true;
        _jogadores[_playerAtual].transform.GetChild(0).gameObject.SetActive(true);
    }

    private int TrocarParceiro(string name)
    {
        int _pos = -1;

        for (int i = 0; i < _jogadores.Length; i++)
        {
            if (_jogadores[i].gameObject.name == name)
            {
                _pos = i;
            }
        }

        return _pos;
    }
}

Espero que tenha, gostado, dúvidas, criticas e sugestões são muito bem-vindas!


Downloads


Personagens jogo Obscure 2 com Unity 2017, Amy e Kenny


Personagens jogo Obscure 2 com Unity 2017, Amy  e Kenny

Tamanho: 224KB

Data de upload: 19/08/2017

Tipo de arquivo: .zip

Quantidade de download: 0


Materiais e animações dos personagens Amy e Kenny.

Você precisa estar autenticado para fazer o Download. Clique Aqui para ser redirecionado a página de login.




Personagens jogo Obscure 2 com Unity 2017, Shannon e Stan


Personagens jogo Obscure 2 com Unity 2017, Shannon e Stan

Tamanho: 224KB

Data de upload: 19/08/2017

Tipo de arquivo: .zip

Quantidade de download: 0


Materiais e animações dos personagens Shannon e Stan.

Você precisa estar autenticado para fazer o Download. Clique Aqui para ser redirecionado a página de login.







Sobre o autor


Gunnar Correa

Nome: Gunnar Correa

Site: http://www.gunnarcorrea.com


Autodidata, graduado em Desenvolvimento Web e aluno de pós-graduação em Tecnologias na Educação em uma universidade no interior de São Paulo. Comecei meus estudos na área de programação quando ainda era criança, e atualmente estou estudando desenvolvimento de jogos.

Sou fundador do portal SatellaSoft dentre outros projetos. Nas minhas horas livres quando não estou com meus amigos, estou fazendo alguns cursos.


Comentários



É necessário estar autenticado para comentar, clique aqui para se registrar ou aqui para acessar a sua conta!