Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
4 participantes
Página 1 de 1
Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
Eu estou desenvolvendo um jogo de terror e preciso de um código que faça isso:
Bem, alguém consegue fazer um script que faça algo semelhante ao Dr. Watson no vídeo?
Bem, alguém consegue fazer um script que faça algo semelhante ao Dr. Watson no vídeo?
INKnight- Avançado
- PONTOS : 3599
REPUTAÇÃO : 18
Áreas de atuação : Iniciante em programação em C#;
Iniciante em design;
Respeito as regras :
Re: Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
Você vai ter que fazer um script que verifica se o Objeto está na visao da camera, caso não a mesma recebe uma nova posição perto do jogador.
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
Tem algum modo de eu fazer isso sem que ele atravesse paredes?rafaelllsd escreveu:Você vai ter que fazer um script que verifica se o Objeto está na visao da camera, caso não a mesma recebe uma nova posição perto do jogador.
INKnight- Avançado
- PONTOS : 3599
REPUTAÇÃO : 18
Áreas de atuação : Iniciante em programação em C#;
Iniciante em design;
Respeito as regras :
Re: Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
Ghosthy escreveu:Tem algum modo de eu fazer isso sem que ele atravesse paredes?rafaelllsd escreveu:Você vai ter que fazer um script que verifica se o Objeto está na visao da camera, caso não a mesma recebe uma nova posição perto do jogador.
Você poderia verificar se o objeto está colidindo com algo e se caso esteja receba uma nova posição...
Re: Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
Pega a distancia entre o player e ele se for maior que 5(Exemplo) ele muda de posição.
Voce pode fazer um random para determinar uma posição aleatória para ele.
Voce pode fazer um random para determinar uma posição aleatória para ele.
Re: Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
Você pode fazer um código desse tipo pra mim?Matrirxp escreveu:Pega a distancia entre o player e ele se for maior que 5(Exemplo) ele muda de posição.
Voce pode fazer um random para determinar uma posição aleatória para ele.
INKnight- Avançado
- PONTOS : 3599
REPUTAÇÃO : 18
Áreas de atuação : Iniciante em programação em C#;
Iniciante em design;
Respeito as regras :
Re: Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
É assim:
- Código:
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
public GameObject Player;
public GameObject inimigo;
Vector3 position;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
float dist = Vector3.Distance(Player.transform.position, inimigo.transform.position);
if(dist > 5){
position = new Vector3(Random.Range(inimigo.transform.position.x, Player.transform.position.x), 0, Random.Range(inimigo.transform.position.z, Player.transform.position.z));//O random pode vaiar da posição do inimigo e a do player
inimigo.transform.position = position;
}
}
}
Re: Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
Seu script é exatamente o que eu procuro!Matrirxp escreveu:É assim:
- Código:
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
public GameObject Player;
public GameObject inimigo;
Vector3 position;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
float dist = Vector3.Distance(Player.transform.position, inimigo.transform.position);
if(dist > 5){
position = new Vector3(Random.Range(inimigo.transform.position.x, Player.transform.position.x), 0, Random.Range(inimigo.transform.position.z, Player.transform.position.z));//O random pode vaiar da posição do inimigo e a do player
inimigo.transform.position = position;
}
}
}
Só tem um problema, o cubo se teleporta extremamente longe do jogador
INKnight- Avançado
- PONTOS : 3599
REPUTAÇÃO : 18
Áreas de atuação : Iniciante em programação em C#;
Iniciante em design;
Respeito as regras :
Re: Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
Tenta isso:
- Código:
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
public GameObject Player;
public GameObject inimigo;
Vector3 position;
Vector3 posiP;//Player Position
Vector3 posiI;//Inimigo Position
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
float dist = Vector3.Distance(Player.transform.position, inimigo.transform.position);
posiP = Player.transform.position;
posiI = inimigo.transform.position;
if(dist > 5 && dist < 25){
position = new Vector3(Random.Range(posiI.x - 2, posiP.x - 1), 1, Random.Range(posiI.z, posiP.z));//O random pode vaiar da posição do inimigo e a do player
inimigo.transform.position = position;
}
}
}
Re: Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
Perfeito! Só preciso saber agora como faço pro inimigo se teleportar apenas quando minha camera não estiver vendo eleMatrirxp escreveu:Tenta isso:
- Código:
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
public GameObject Player;
public GameObject inimigo;
Vector3 position;
Vector3 posiP;//Player Position
Vector3 posiI;//Inimigo Position
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
float dist = Vector3.Distance(Player.transform.position, inimigo.transform.position);
posiP = Player.transform.position;
posiI = inimigo.transform.position;
if(dist > 5 && dist < 25){
position = new Vector3(Random.Range(posiI.x - 2, posiP.x - 1), 1, Random.Range(posiI.z, posiP.z));//O random pode vaiar da posição do inimigo e a do player
inimigo.transform.position = position;
}
}
}
INKnight- Avançado
- PONTOS : 3599
REPUTAÇÃO : 18
Áreas de atuação : Iniciante em programação em C#;
Iniciante em design;
Respeito as regras :
Re: Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
Ve se assim funciona para oque voce quer:
- Código:
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
public GameObject Player;
public GameObject inimigo;
Vector3 position;
Vector3 posiP;//Player Position
Vector3 posiI;//Inimigo Position
float dist;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
dist = Vector3.Distance(Player.transform.position, inimigo.transform.position);
posiP = Player.transform.position;
posiI = inimigo.transform.position;
}
void OnBecameInvisible() {
if (dist > 5 && dist < 25) {
position = new Vector3 (Random.Range (posiI.x - 2, posiP.x - 1), 1, Random.Range (posiI.z, posiP.z));//O random pode vaiar da posição do inimigo e a do player
inimigo.transform.position = position;
}
}
}
Re: Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
Caraca! Vc é muito bom em fazer scripts!Matrirxp escreveu:Ve se assim funciona para oque voce quer:
- Código:
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
public GameObject Player;
public GameObject inimigo;
Vector3 position;
Vector3 posiP;//Player Position
Vector3 posiI;//Inimigo Position
float dist;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
dist = Vector3.Distance(Player.transform.position, inimigo.transform.position);
posiP = Player.transform.position;
posiI = inimigo.transform.position;
}
void OnBecameInvisible() {
if (dist > 5 && dist < 25) {
position = new Vector3 (Random.Range (posiI.x - 2, posiP.x - 1), 1, Random.Range (posiI.z, posiP.z));//O random pode vaiar da posição do inimigo e a do player
inimigo.transform.position = position;
}
}
}
O script está perfeito! Só preciso agora que o objeto não atravesse ou entre dentro de paredes e objetos
INKnight- Avançado
- PONTOS : 3599
REPUTAÇÃO : 18
Áreas de atuação : Iniciante em programação em C#;
Iniciante em design;
Respeito as regras :
Re: Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
Cara desculpa por não ter feito sua script é que eu to meio ocupado com um projeto mas amanha eu mando a script aqui pra voce.
Re: Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
Testa essa:
- Código:
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
public GameObject Player;
public GameObject inimigo;
Vector3 position;
Vector3 posiP;//Player Position
Vector3 posiI;//Inimigo Position
float dist;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
dist = Vector3.Distance(Player.transform.position, inimigo.transform.position);
posiP = Player.transform.position;
posiI = inimigo.transform.position;
}
void OnBecameInvisible() {
if (dist > 5 && dist < 25) {
position = new Vector3 (Random.Range (posiI.x - 2, posiP.x - 1), 1, Random.Range (posiI.z, posiP.z));//O random pode variar da posição do inimigo e a do player
inimigo.transform.position = position;
}
}
void OnCollisionEnter(Collision col){
if (col.gameObject.tag == "Player") {
} else {
if (col.gameObject.tag != "Terreno") {
position = new Vector3 (Random.Range (posiI.x - 2, posiP.x - 1), 1, Random.Range (posiI.z, posiP.z));//O random pode variar da posição do inimigo e a do player
inimigo.transform.position = position;
}
}
}
}
Última edição por Matrirxp em Qua Abr 12, 2017 7:14 pm, editado 1 vez(es)
Re: Como eu faço um modelo em 3D que se teleporta de acordo com a camera do jogador? (Vídeo)
coloca a tag "Player" no seu player e a tag "Terreno" no chão do terreno
Tópicos semelhantes
» MOVIMENTO DO JOGADOR DE ACORDO COM A CAMERA
» No script da "Câmera estilo Gta" como faço para o mouse mover a câmera ?
» Como faço para meu personagem virar de acordo com o movimento?
» Como faço para mudar a quantia de Transform[] de acordo com uma varial int?
» Como fazer a câmera balançar de acordo com a suspensão do veículo?
» No script da "Câmera estilo Gta" como faço para o mouse mover a câmera ?
» Como faço para meu personagem virar de acordo com o movimento?
» Como faço para mudar a quantia de Transform[] de acordo com uma varial int?
» Como fazer a câmera balançar de acordo com a suspensão do veículo?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos