[WIP] - GOT#VR
- E3DStef
- Administrateur
- Messages : 1646
- Inscription : 14 Juil 2013 18:30
- Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/
[WIP] - GOT#VR
Bonsoir à tous,
Suite à un bon délire avec certains membres (pour ne pas les citer) j'ai décidé de vous faire un petit WIP sur GOT#VR pour
Source image : https://www.cgtrader.com/items/148139/download-page Sherman 3D Free
Titre : Game of Tank VR
Slogan : En équipe grimpez dans votre char et ... survivez !
Pitch : Un char c'est 4 place, chaque membre ayant son rôle à jouer. Le travail d'équipe est indispensable pour réussir à survivre dans votre blindé.
Je posterai ici pas à pas le WIP que je vais réaliser avec une équipe d'étudiants d'une école d'ingénieurs (ceux là mm qui nous ont développé la fonction + ou - sur le fofo d'ailleurs).
Je vous propose donc un POC (Proof Of Concept / Prototype) où je recherche l'efficacité et la vitesse de développement plutôt que l'optimisation ou la programmation avancé. J'espère qu'à travers ce WIP certains membres puiseront des idées ou des soluces à leurs problèmes.
Je mettrai pour chaque opération le temps que cela m'a pris sachant que je fais tout à la volée (pas d'algo papier avant, pas de rech d'optim). Je vais procéder comme un dev débutant, c'est à dire en allant chercher l'info plutôt que de puiser dans mes catalogues/biblio de sources/exemples. J'espère ainsi que ce WIP vous sera utile, moi je le vois comme un projet fun à partager avec vous
Bon allez go !
Edit : Pour les curieux ci dessous lien GOOGLE DRIVE du PROJET (MAJ 09/10/2018 - 22h10)
https://drive.google.com/open?id=1jCoBB ... COdVs-IdXt
J'ai intégré le char Sherman dans la scène et appliqué ses textures et les scripts
Suite à un bon délire avec certains membres (pour ne pas les citer) j'ai décidé de vous faire un petit WIP sur GOT#VR pour
Source image : https://www.cgtrader.com/items/148139/download-page Sherman 3D Free
Titre : Game of Tank VR
Slogan : En équipe grimpez dans votre char et ... survivez !
Pitch : Un char c'est 4 place, chaque membre ayant son rôle à jouer. Le travail d'équipe est indispensable pour réussir à survivre dans votre blindé.
Je posterai ici pas à pas le WIP que je vais réaliser avec une équipe d'étudiants d'une école d'ingénieurs (ceux là mm qui nous ont développé la fonction + ou - sur le fofo d'ailleurs).
Je vous propose donc un POC (Proof Of Concept / Prototype) où je recherche l'efficacité et la vitesse de développement plutôt que l'optimisation ou la programmation avancé. J'espère qu'à travers ce WIP certains membres puiseront des idées ou des soluces à leurs problèmes.
Je mettrai pour chaque opération le temps que cela m'a pris sachant que je fais tout à la volée (pas d'algo papier avant, pas de rech d'optim). Je vais procéder comme un dev débutant, c'est à dire en allant chercher l'info plutôt que de puiser dans mes catalogues/biblio de sources/exemples. J'espère ainsi que ce WIP vous sera utile, moi je le vois comme un projet fun à partager avec vous
Bon allez go !
Edit : Pour les curieux ci dessous lien GOOGLE DRIVE du PROJET (MAJ 09/10/2018 - 22h10)
https://drive.google.com/open?id=1jCoBB ... COdVs-IdXt
J'ai intégré le char Sherman dans la scène et appliqué ses textures et les scripts
Le Savoir n'est Précieux que s'il est Partagé
Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com
Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com
- E3DStef
- Administrateur
- Messages : 1646
- Inscription : 14 Juil 2013 18:30
- Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/
Re: [WIP] - GOT#VR
Episode 1 :
Objectif :
Facile je pars sur des formes simples et des couleurs basiques :
J'ajoute 1 cube, je le duplique pour en avoir un 2e
Je modifie le scale du 1er pour en faire la base du char - Je le nomme "Char" d'ailleurs
Je déplace vers le haut et je modifie le scale du 2e pour faire la tourelle - Je le nomme "Tourelle"
J'ajoute un autre cube pour faire le canon - Je le nomme ... "Canon"
Pour fini j'ajoute une plane pour le terrain que je scale à 10
Je créé 4 matériaux : Black, Green, Jaune, Red
J'associe les matériaux aux objets pour différencier les éléments (et puis c'est joli toutes ces couleurs )
Résultat en image :
Bon j'ai mon char passons maintenant à son déplacement
2 - Déplacement
Je fais une recherche sur Google "unity c# script transform" pour trouver un script c# Unity pour déplacer...
Cela me renvoi sur ce lien https://unity3d.com/fr/learn/tutorials/ ... and-rotate
En bon dev fainéant je copie-colle le script dans mon projet (script que je nomme originalement DeplacementChar)
Voici le script à déposer sur le cube "Char"
DeplacementChar.Cs
3 - Faire tourner la tourelle
Toujours en bon gros dev fainéant je duplique mon code DeplacementChar.cs que je renomme en RotationTourelle.cs
Je supprime les conditions de translate pour ne garder que les rotate
Voici le script à déposer sur le cube "Tourelle"
RotationTourelle.Cs
Ca y est mon char roule !!! La tourelle tourne...
Bon faut tirer maintenant :-)
4 - Faire tirer le canon
Google helllpp me : "unity c# script shoot"
Cela me renvoi sur ce lien https://www.studica.com/blog/how-to-cre ... e-in-unity
C'est tout moche (en anglais) mais je comprends qu'il me faut créer un lieu de spawn pour mes projectiles et créer un préfab de projectile.
Spawnpoint = GameObject empty juste devant le canon (et fils du canon bien évidemment)
Prefab = J'ajoute une sphère à qui je donne une couleur (material) et un nom original "Obus". Une fois ceci fait je descend l'object dans mon panneau PROJECT et magie = prefab
Une fois ceci fait je copie-colle le script que je nomme Shoot.cs
Shoot.cs
Et voilà, mon char tourne, avance, la tourelle tourne, le canon tire... D'ailleurs quand je tire mon char bascule ? Ah oui faut modifier les rigibody pour "fixer" un peu tout cela plus """""réaliste''''
Je note un correctif à faire plus tard : Quand je recule en tournant il faut penser à inverser la rotation
Ci dessous Screen du projet :
Bon toussa m'a pris 1/2h (en gros vu que les gosses m'ont interrompu à plusieurs reprises lol), la rédaction du WIP bcp plus (mdr...)
RoadMap
itération 2 : Réseau PHOTON avec deux joueurs qui se tirent dessus
itération 3 : Réseau PHOTON avec quatre joueurs (2 par char - 1 chauffeur - 1 canonier)
itération 4 : Ajout de la mitrailleuse + Réseau PHOTON avec 6 joueurs (3 par char - 1 chauffeur - 1 canonier- 1 mitrailleur)
itération 5 : Ajout de la vie + Dégâts suivant arme (canon, mitrailleuse)
On verra après.
A+ et merci de vos critiques / commentaires
Stef
Objectif :
- Créer un "char"
- Déplacer le char
- Faire tourner la tourelle
- Faire tirer le canon
Facile je pars sur des formes simples et des couleurs basiques :
J'ajoute 1 cube, je le duplique pour en avoir un 2e
Je modifie le scale du 1er pour en faire la base du char - Je le nomme "Char" d'ailleurs
Je déplace vers le haut et je modifie le scale du 2e pour faire la tourelle - Je le nomme "Tourelle"
J'ajoute un autre cube pour faire le canon - Je le nomme ... "Canon"
Pour fini j'ajoute une plane pour le terrain que je scale à 10
Je créé 4 matériaux : Black, Green, Jaune, Red
J'associe les matériaux aux objets pour différencier les éléments (et puis c'est joli toutes ces couleurs )
Résultat en image :
Bon j'ai mon char passons maintenant à son déplacement
2 - Déplacement
Je fais une recherche sur Google "unity c# script transform" pour trouver un script c# Unity pour déplacer...
Cela me renvoi sur ce lien https://unity3d.com/fr/learn/tutorials/ ... and-rotate
En bon dev fainéant je copie-colle le script dans mon projet (script que je nomme originalement DeplacementChar)
Voici le script à déposer sur le cube "Char"
DeplacementChar.Cs
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class DeplacementChar: MonoBehaviour
{
public float moveSpeed = 10f;
public float turnSpeed = 50f;
void Update ()
{
if(Input.GetKey(KeyCode.UpArrow))
transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
if(Input.GetKey(KeyCode.DownArrow))
transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime);
if(Input.GetKey(KeyCode.LeftArrow))
transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);
if(Input.GetKey(KeyCode.RightArrow))
transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
}
}
Toujours en bon gros dev fainéant je duplique mon code DeplacementChar.cs que je renomme en RotationTourelle.cs
Je supprime les conditions de translate pour ne garder que les rotate
Voici le script à déposer sur le cube "Tourelle"
RotationTourelle.Cs
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class RotationTourelle : MonoBehaviour
{
public float moveSpeed = 10f;
public float turnSpeed = 50f;
void Update ()
{
if(Input.GetKey(KeyCode.PageDown))
transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);
if(Input.GetKey(KeyCode.PageUp))
transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
}
}
Bon faut tirer maintenant :-)
4 - Faire tirer le canon
Google helllpp me : "unity c# script shoot"
Cela me renvoi sur ce lien https://www.studica.com/blog/how-to-cre ... e-in-unity
C'est tout moche (en anglais) mais je comprends qu'il me faut créer un lieu de spawn pour mes projectiles et créer un préfab de projectile.
Spawnpoint = GameObject empty juste devant le canon (et fils du canon bien évidemment)
Prefab = J'ajoute une sphère à qui je donne une couleur (material) et un nom original "Obus". Une fois ceci fait je descend l'object dans mon panneau PROJECT et magie = prefab
Une fois ceci fait je copie-colle le script que je nomme Shoot.cs
Shoot.cs
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class Shoot : MonoBehaviour {
public Rigidbody projectile;
public Transform Spawnpoint;
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
if(Input.GetMouseButton(0))
{
Rigidbody clone;
clone = (Rigidbody)Instantiate(projectile, Spawnpoint.position, projectile.rotation);
clone.velocity = Spawnpoint.TransformDirection (Vector3.forward*20);
}
}
}
Je note un correctif à faire plus tard : Quand je recule en tournant il faut penser à inverser la rotation
Ci dessous Screen du projet :
Bon toussa m'a pris 1/2h (en gros vu que les gosses m'ont interrompu à plusieurs reprises lol), la rédaction du WIP bcp plus (mdr...)
RoadMap
itération 2 : Réseau PHOTON avec deux joueurs qui se tirent dessus
itération 3 : Réseau PHOTON avec quatre joueurs (2 par char - 1 chauffeur - 1 canonier)
itération 4 : Ajout de la mitrailleuse + Réseau PHOTON avec 6 joueurs (3 par char - 1 chauffeur - 1 canonier- 1 mitrailleur)
itération 5 : Ajout de la vie + Dégâts suivant arme (canon, mitrailleuse)
On verra après.
A+ et merci de vos critiques / commentaires
Stef
Le Savoir n'est Précieux que s'il est Partagé
Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com
Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com
Re: [WIP] - GOT#VR
le translate c'est bien gentil, ça va vite à faire, mais je pense que tu vas vite te retrouver bloquer à devoir gérer tous les cas particuliers qui vont pointer le bout de leur nez au fur et à mesure de l'avancement de ton jeu. Genre devoir inverser la rotation quand tu recules...
Il existe le wheelcollider et toute la physique pour gérer des véhicule dans Unity, je pense que ça serait plus approprié.
Il existe le wheelcollider et toute la physique pour gérer des véhicule dans Unity, je pense que ça serait plus approprié.
Re: [WIP] - GOT#VR
axel a écrit : ↑10 Oct 2018 09:48le translate c'est bien gentil, ça va vite à faire, mais je pense que tu vas vite te retrouver bloquer à devoir gérer tous les cas particuliers qui vont pointer le bout de leur nez au fur et à mesure de l'avancement de ton jeu. Genre devoir inverser la rotation quand tu recules...
Il existe le wheelcollider et toute la physique pour gérer des véhicule dans Unity, je pense que ça serait plus approprié.
Je peux me tromper, mais j'ai toujours entendu dire que dans la pratique les wheelcollider n'était pas opti / assez buggué et qu'il valait mieux les éviter lorsque l'on pouvait.
Après je ne l'ai ai jamais utilisé donc je ne fait que reporter ce que j'ai entendu, mais comme je viens de voir passer quelqu'un qui vient de lâcher les wheelcollider au profit des sphere car ça bugguais (http://www.unity3d-france.com/unity/php ... 2&start=30), cela a tendance à me conforter dans mon opinion.
Cela dit je te rejoint assez sur le fait d'utiliser la physics à la place des transform car pour avoir déjà "simuler" des mouvement smooth en transform, c'est quand même du bouleau (sans parler de ce qui est collisions)
Sinon sympa comme initiative
Re: [WIP] - GOT#VR
je n'y ai pas touché depuis longtemps aussi, mais justement il me semblait que toute cette physique avait été revue avec Unity 5.
- E3DStef
- Administrateur
- Messages : 1646
- Inscription : 14 Juil 2013 18:30
- Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/
Re: [WIP] - GOT#VR
C'est exactement le postulat de mon WIP, pas d'optim - facile à faire - rapide à faire
Oui oui d'ailleurs si tu as lu mon EPISODE 1 à la fin tu as noté que je parlais d'un correctif à faire en inversant la rotation en marche arrière
Excellente remarque, oui le WheelCollider est très bien pour les véhicules. J'ai bossé sur un simulateur de conduite d'engins et j'ai justement utilisé les wheelcollider !
Après notez :
Postulat N°1 : comme dit plus haut : je pars en mode dev débutant qui veut du résultat rapide avec du code simple.
Postulat N°2 : c'est un POC. S'il est concluant, on pourra modifier les éléments au fur et à mesure des itérations.
Postulat N°3 : c'est un Char. Donc pas de roues qui tournent (comme sur une voiture). Donc wheelcollider moins indispensables
Merci de vos retours/critiques/suggestions.
Bien entendu le projet est ouvert à tous, si certains veulent faire un morceau ils sont les bienvenus !
A+
Stef
Le Savoir n'est Précieux que s'il est Partagé
Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com
Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com
- E3DStef
- Administrateur
- Messages : 1646
- Inscription : 14 Juil 2013 18:30
- Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/
Re: [WIP] - GOT#VR
Episode 2 :
Objectif :
Rappel de la roadmap pensée fin épisode 1
itération 2 : Réseau PHOTON avec deux joueurs qui se tirent dessus
itération 3 : Réseau PHOTON avec quatre joueurs (2 par char - 1 chauffeur - 1 canonier)
itération 4 : Ajout de la mitrailleuse + PHOTON avec 6 joueurs (3 par char - 1 chauffeur - 1 canonier- 1 mitrailleur)
itération 5 : Ajout de la vie + Dégâts suivant arme (canon, mitrailleuse)
Itération 2 : - Réseau Photon avec deux joueurs qui se tirent dessus
Sur le papier : Facile ! Photo tu clic&drop et cela marche.
En pratique : Pas du tout userfriendly, pas compris...
J'y passe 1h et pas de résultats concluants...
Je décide d'aller voir ailleurs (d'autres packages) et je tombe sur Network Lobby. Ca a l'air simple, prometteur et rapidement installable.
Lien : https://assetstore.unity.com/packages/e ... obby-41836
J'y passe dessus 1h et j'arrive assez facilement à mettre mes tanks en multijoueur (1 joueur = 1 tank) en local (localhost)
L'asset est simple, bien foutu et rapidement déployable. Il faut juste adapter ses scripts (et leurs emplacements) pour qu'ils (les scripts) deviennent network ^^
Par envie d'historiser/versionner je duplique et nommes mes scripts en les terminant par NET
DeplacementCharNet.Cs
En rouge et gras les différences avec le script solo. En détail :
- Il faut ajouter la lib : using UnityEngine.Networking;
- remplacer monobehavior par NetworkBehaviour
- ajouter la condition if (isLocalPlayer) { pour que les actions ne soient "affectées" qu'au client local
Bref une fois généré le projet on peut le lancer 2 fois et faire se rejoindre les 2 instances pour avoir 2 players.
Sur le GO du Tank il faut ajouter des composants
Network identity (en cochant LOCAL PLAYER AUTHORITY)
Network transform (pour que le joueur envoie sa position à l'autre joueur)
Network transform child (pour que les GO enfants puissent eux aussi envoyer leur position à l'autre joueur)
Pour que cela fonctionne bien il faut mettre tous les scripts sur le GO parent (le plus haut)
Résultat : Ca marche en LOCALHOST (en local donc), cela ne marche pas en ip direct.
Bizarre je vais donc voir si c'est ma configuration pc ou si c'est le projet qui a un souci...Après différents tests je décide d'aller voir d'autres packages et je trouve / on me conseille :
Master Server Framework
https://assetstore.unity.com/packages/t ... work-71391
DarkRift Networking 2
https://assetstore.unity.com/packages/t ... ng-2-95309
Mais aucuns n'est si évident à utiliser.
Je décide de continuer mon réseau "à la main" dans un premier temps (vu que cela marche en local)
Je modifie la roadmap en ce sens :
itération 2 : Réseau avec deux joueurs qui se tirent dessus - OK FAIT
Temps rech des solutions : 5h
Temps dev "à la main" : 1h
itération 3 : Réseau avec deux joueurs qui choisissent un spawn (parmis 4 sur la map)
itération 4 : Amélioration des contrôles pour avoir un vrai rôle de canonier (rotation tourelle, élévation canon, tir)
itération 5 : Amélioration des contrôles pour avoir un vrai rôle de chauffeur (direction + tir fumigène)
Je vous mets le zip du projet comme d'hab sur le drive et je vous c/c ci-après tous les scripts
DeplacementCharNet
RotationTourelleNetChar
Vous remarquerez que j'ai posé un gameobject en public pour faire référence au GO enfant
ShootNet
On verra après.
A+ et merci de vos critiques / commentaires
Stef
Objectif :
Rappel de la roadmap pensée fin épisode 1
itération 2 : Réseau PHOTON avec deux joueurs qui se tirent dessus
itération 3 : Réseau PHOTON avec quatre joueurs (2 par char - 1 chauffeur - 1 canonier)
itération 4 : Ajout de la mitrailleuse + PHOTON avec 6 joueurs (3 par char - 1 chauffeur - 1 canonier- 1 mitrailleur)
itération 5 : Ajout de la vie + Dégâts suivant arme (canon, mitrailleuse)
Itération 2 : - Réseau Photon avec deux joueurs qui se tirent dessus
Sur le papier : Facile ! Photo tu clic&drop et cela marche.
En pratique : Pas du tout userfriendly, pas compris...
J'y passe 1h et pas de résultats concluants...
Je décide d'aller voir ailleurs (d'autres packages) et je tombe sur Network Lobby. Ca a l'air simple, prometteur et rapidement installable.
Lien : https://assetstore.unity.com/packages/e ... obby-41836
J'y passe dessus 1h et j'arrive assez facilement à mettre mes tanks en multijoueur (1 joueur = 1 tank) en local (localhost)
L'asset est simple, bien foutu et rapidement déployable. Il faut juste adapter ses scripts (et leurs emplacements) pour qu'ils (les scripts) deviennent network ^^
Par envie d'historiser/versionner je duplique et nommes mes scripts en les terminant par NET
DeplacementCharNet.Cs
Code : Tout sélectionner
using UnityEngine;
[color=#FF0000][b]using UnityEngine.Networking;[/b][/color]
using System.Collections;
public class DeplacementCharNet : [b][color=#FF0000]NetworkBehaviour[/color][/b]
{
public float moveSpeed = 10f;
public float turnSpeed = 50f;
void Update ()
{
[color=#FF0000][b]if (isLocalPlayer)
{[/b][/color]
if(Input.GetKey(KeyCode.UpArrow))
transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
if(Input.GetKey(KeyCode.DownArrow))
transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime);
if(Input.GetKey(KeyCode.LeftArrow))
transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);
if(Input.GetKey(KeyCode.RightArrow))
[color=#FF0000][b] transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
}[/b][/color]
}
}
- Il faut ajouter la lib : using UnityEngine.Networking;
- remplacer monobehavior par NetworkBehaviour
- ajouter la condition if (isLocalPlayer) { pour que les actions ne soient "affectées" qu'au client local
Bref une fois généré le projet on peut le lancer 2 fois et faire se rejoindre les 2 instances pour avoir 2 players.
Sur le GO du Tank il faut ajouter des composants
Network identity (en cochant LOCAL PLAYER AUTHORITY)
Network transform (pour que le joueur envoie sa position à l'autre joueur)
Network transform child (pour que les GO enfants puissent eux aussi envoyer leur position à l'autre joueur)
Pour que cela fonctionne bien il faut mettre tous les scripts sur le GO parent (le plus haut)
Résultat : Ca marche en LOCALHOST (en local donc), cela ne marche pas en ip direct.
Bizarre je vais donc voir si c'est ma configuration pc ou si c'est le projet qui a un souci...Après différents tests je décide d'aller voir d'autres packages et je trouve / on me conseille :
Master Server Framework
https://assetstore.unity.com/packages/t ... work-71391
DarkRift Networking 2
https://assetstore.unity.com/packages/t ... ng-2-95309
Mais aucuns n'est si évident à utiliser.
Je décide de continuer mon réseau "à la main" dans un premier temps (vu que cela marche en local)
Je modifie la roadmap en ce sens :
itération 2 : Réseau avec deux joueurs qui se tirent dessus - OK FAIT
Temps rech des solutions : 5h
Temps dev "à la main" : 1h
itération 3 : Réseau avec deux joueurs qui choisissent un spawn (parmis 4 sur la map)
itération 4 : Amélioration des contrôles pour avoir un vrai rôle de canonier (rotation tourelle, élévation canon, tir)
itération 5 : Amélioration des contrôles pour avoir un vrai rôle de chauffeur (direction + tir fumigène)
Je vous mets le zip du projet comme d'hab sur le drive et je vous c/c ci-après tous les scripts
DeplacementCharNet
Code : Tout sélectionner
using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
public class DeplacementCharNet : NetworkBehaviour
{
public float moveSpeed = 10f;
public float turnSpeed = 50f;
void Update ()
{
if (isLocalPlayer)
{
if(Input.GetKey(KeyCode.UpArrow))
transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
if(Input.GetKey(KeyCode.DownArrow))
transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime);
if(Input.GetKey(KeyCode.LeftArrow))
transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);
if(Input.GetKey(KeyCode.RightArrow))
transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
}
}
}
Vous remarquerez que j'ai posé un gameobject en public pour faire référence au GO enfant
Code : Tout sélectionner
using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
public class RotationTourelleNetChar : NetworkBehaviour
{
public float moveSpeed = 10f;
public float turnSpeed = 50f;
public GameObject Tourelle;
void Update ()
{
if (isLocalPlayer)
{
if(Input.GetKey(KeyCode.PageDown))
Tourelle.transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);
if (Input.GetKey (KeyCode.PageUp))
Tourelle.transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
}
}
}
Code : Tout sélectionner
using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
public class ShootNet : NetworkBehaviour {
public Rigidbody projectile;
public Transform Spawnpoint;
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
if (isLocalPlayer)
{
if (Input.GetMouseButton (0))
{
Rigidbody clone;
clone = (Rigidbody)Instantiate (projectile, Spawnpoint.position, projectile.rotation);
clone.velocity = Spawnpoint.TransformDirection (Vector3.forward * 20);
}
}
}
}
On verra après.
A+ et merci de vos critiques / commentaires
Stef
Le Savoir n'est Précieux que s'il est Partagé
Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com
Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com
Re: [WIP] - GOT#VR
Pourquoi ne pas essayer Photon Unity Networking Classic - FREE
https://assetstore.unity.com/packages/t ... -free-1786
J'ai fait une tentative avec et ça n'a pas été très difficile comme mise en route.
C'est ensuite que j'ai eu un soucis que je ne suis pas arrivé à résoudre
http://www.unity3d-france.com/unity/php ... 12&t=15998
Je pense d'ailleurs qu'avec la gestion des joueurs pour les chars ou canons je trouverai la solution pour mon essai.
A bientôt
https://assetstore.unity.com/packages/t ... -free-1786
J'ai fait une tentative avec et ça n'a pas été très difficile comme mise en route.
C'est ensuite que j'ai eu un soucis que je ne suis pas arrivé à résoudre
http://www.unity3d-france.com/unity/php ... 12&t=15998
Je pense d'ailleurs qu'avec la gestion des joueurs pour les chars ou canons je trouverai la solution pour mon essai.
A bientôt
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.
- E3DStef
- Administrateur
- Messages : 1646
- Inscription : 14 Juil 2013 18:30
- Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/
Re: [WIP] - GOT#VR
Merci de ton retour,
Pour Photon j'ai pas trouvé cela simple à mettre en place.
Je suis donc reparti avec la solution "native" d'Unity et maintenant mes chars se tirent dessus, perdent de la vie, peuvent détruire des obstacles. Tout cela en réseau ^^
Petite capture ci dessous pour lancement d'une partie en local avec 5 clients + 1 host
Une fois les 6 joueurs en réseau :
Vous remarquerez que les cubes peuvent prendre des dégâts, même s'ils ne sont pas visible des clients (juste du host).
C'est volontaire, c'était pour bien distinguer les process.
A+
Stef
Pour Photon j'ai pas trouvé cela simple à mettre en place.
Je suis donc reparti avec la solution "native" d'Unity et maintenant mes chars se tirent dessus, perdent de la vie, peuvent détruire des obstacles. Tout cela en réseau ^^
Petite capture ci dessous pour lancement d'une partie en local avec 5 clients + 1 host
Une fois les 6 joueurs en réseau :
Vous remarquerez que les cubes peuvent prendre des dégâts, même s'ils ne sont pas visible des clients (juste du host).
C'est volontaire, c'était pour bien distinguer les process.
A+
Stef
Le Savoir n'est Précieux que s'il est Partagé
Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com
Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com
Re: [WIP] - GOT#VR
Ce genre de topic est super intéressant, on voit comment tu prototypes etc.
C'est assez instructif, merci pour le partage.
C'est assez instructif, merci pour le partage.