Bonsoir, je fais en ce moment même un test de jeu en ligne en 3D sur unity qui est très simple disons le mais j'ai quelque problèmes. En effet, lorsque l'ont fait un jeu en ligne sur unity, nous devons nous adapté au Networking de se dernier donc je me suis adapter seul bémols... Aucune collision n'est faite entre mon joueur ( joueur = capsule) et un cube en guise de mur... Pourtant ces deux la possèdent un Network Identity ainsi qu'un boxCollider Sans le IsTrigger cocher alors je ne comprend pas... Le joueur passe à travers quoi que je fasse...
Le script du joueur (qui au passage possède d'autre truc inutile auquel il ne faut pas faire attention):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class PlayerController : NetworkBehaviour
{
public GameObject bulletPrefab;
public Transform bulletSpawn;
void Update ()
{
if (!isLocalPlayer)
{
return;
}
<u><u> var x = Input.GetAxis("Horizontal") * Time.deltaTime * 200.0f;
var z = Input.GetAxis("Vertical") * Time.deltaTime * 6.0f;
transform.Rotate(0, x, 0);
transform.Translate(0, 0, z);</u></u>
if (Input.GetKeyDown(KeyCode.Space))
{
CmdFire();
}
}
[Command]
void CmdFire()
{
//Création de la balle à partir de la prefab "Bullet"
var bullet = (GameObject)Instantiate(
bulletPrefab,
bulletSpawn.position,
bulletSpawn.rotation);
// Ajout de la velocité à la balle
bullet.GetComponent<Rigidbody>().velocity = bullet.transform.forward * 15;
// Faire apparaitre la balle sur les clients
NetworkServer.Spawn(bullet);
}
public override void OnStartLocalPlayer()
{
GetComponent<MeshRenderer>().material.color = Color.blue;
}
private void OnCollisionEnter(Collision collision)
{
}
}
La ligne souligné(normalement) est celle pour pouvoir bouger/Controller le joueur.
J'espère que vous saurez m'aidez je vous en serez très reconnaissant...!!
Donc le problème: Pouvoir faire en sorte (en prenant en compte que c'est en ligne) que mon joueur s'arrête, soit bloquer/stopper, lors d'une collision
Merci!!