CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • Black Friday
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : J'aide les gens dans Unity

DébutPage précedente
«1  ... 3435363738394041424344  ... 180»
Page suivanteFin
Lapintade Lapintade
MP
Niveau 25
23 octobre 2014 à 13:38:53

NGCK c'est une suite d'exercices pour le C/C++ avec un framework ultra simplifié, orienté affichage et jeu vidéo.
L'écran a une résolution de 30x20 et la première commande c'est : KPrintSquare(X,Y)
donc en gros, une ligne dans le programme = tu affiche un carré à l'écran.

http://perso.numericable.fr/ckckck/NGCK_doc_fichiers/image001.png

Sans NGCK, il faudrait bien plus qu'une ligne pour afficher un carré blanc. Quand on veut bosser uniquement le langage et l'algorithmique, c'est pratique d'avoir un environnement simplifié.

Unity possède déja le meme niveau de simplification au niveau de la structure (quand tu crée un gameobject, tu lui mets un script vide qui a un "init" et un "update").

J'ai vu qu'on pouvait definir "2D" dans le type de projet. Y a t il un système de sprite 2D ?

Lapintade Lapintade
MP
Niveau 25
23 octobre 2014 à 13:39:51

c'est un carré ... et ... c'est blanc

Ca me va :) ... Si on peut l'afficher plusieurs fois et a plusieurs positions c'est nickel. Car 30x20 = 600 carrés à l'écran.

Scorpionnocrag Scorpionnocrag
MP
Niveau 9
23 octobre 2014 à 14:06:06

Oui tu peux en mettre autant que tu veux, et comme c'est un objet "de base" tu peux le créer avec une ligne de code (si c'est ce genre de chose qui t'intéresse)

http://docs.unity3d.com/ScriptReference/PrimitiveType.Quad.html

Je ne sais pas si on peut créer d'autre objet "de base" pour enrichir ton ... "NGCK-like"(si t'en as vraiment besoin, j'ai bien 2-3 techniques en stock qui "simulerait" la même chose)

Pour ce qui est du type de projet (2D / 3D) il n'y a pas vraiment de différence >au premier abord< sachant que, que ton projet soit en 2D ou en 3D, tu peux faire de la 2D ou de la 3D dans chacun deux, voir utiliser les deux en même temps, Unity le gère plutôt bien à mes yeux. Si tu coches "projet 2D", cela va juste mettre ton jeu en "mode 2D" (captent obvious bonjour) et cela va apporter quelque changement dans l'éditeur :

- ta caméra se mettera en mode orthographique (mais tu peux très bien la remettre en perspective)
- le clic droit fera "glisser" ta vue du panneau scène (alors qu'en mode 3D ça change l'orientation)
- faire un glisser-déposer d'une image depuis le panneau assets jusqu'au panneau scène, créera un sprite a cet endroit (alors qu'en mode 3D, cela appliquera cette image sur un modèle 3D comme si c'était une "texture"

Bon ça fait aussi d'autre truc, mais j'ai la flemme d'aller sur la doc tout fouiller.

Enfin juste un petit détail, tu peux passer ton "mode" 2d en 3d (et visse versa) en cliquant sur le bouton "2D" en haut dans ton panneau scène.

Je crois que j'ai dit le principale ...

-Adridu84- -Adridu84-
MP
Niveau 10
23 octobre 2014 à 14:27:08

Lapintade :d)

Il faudrait que tu créé une variable représentant ton carré

var carré : Transform;

Ensuite avec ces lignes tu peut en faire apparaître un en X et Y voulue :

var X : int;
var Y : int;
function Spawn(){
Instantiate (carré, Vector3(X, Y, 0), Quaternion.identity);
}

Tu as plus qu'a changer le X et Y et tu appelle ta fonction Spawn().

Et il faut pas oublier de créer un prefab de ton carré et de l'assigner à ta variable carrée.

Bonne chance !

Lapintade Lapintade
MP
Niveau 25
23 octobre 2014 à 15:43:11

Merci pour vos réponses.

L'idée serait d'instancier 600 carrés et de les montrer/masquer suivant le besoin. Ca pourrait marcher comme cela.

caelacanthe caelacanthe
MP
Niveau 10
23 octobre 2014 à 19:46:52

Tu peux aussi utiliser leur API d'interface, et la fonction GUI.DrawTexture pour afficher des textures à l'écran, dommage qu'unity soit incapable de faire du batching pour ça et soit voué à faire 600 draw calls par frame. :oui:

Lapintade Lapintade
MP
Niveau 25
25 octobre 2014 à 18:34:52

Je vais essayer. Je n'ai pas besoin de performance. Merci.

Lapintade Lapintade
MP
Niveau 25
26 octobre 2014 à 00:09:29

Ca commence a fonctionner avec GUI.DrawTexture, j'ai pu afficher les 600 carrés. Ca passe par la fonction "OnGui", je ne sais pas encore quand elle est appelée.

Faut que je vois pour gerer cela avec l'update du game object.

caelacanthe caelacanthe
MP
Niveau 10
26 octobre 2014 à 01:55:42

" je ne sais pas encore quand elle est appelée. "

:d) Deux fois par frame, et je n'ai pas été confronté à un problème venant du fait qu'elle serait appelée avant ou après update. Cela dit, il est mieux de la restreindre à l'affichage des éléments d'interface et au mieux de la réaction aux boutons (ceux-ci sont une fonction qui renvoie True quand on a cliqué dessus, seulement au deuxième appel de OnGUI donc c'est safe de modifier des données sur le clic d'un bouton, par contre éviter de modifier des données par un autre mécanisme, surtout si ces données contrôlent elle-même l'affichage d'éléments d'interface. :oui: )

Lapintade Lapintade
MP
Niveau 25
26 octobre 2014 à 11:24:19

Merci. Y a t il un moyen de savoir si on est dans le second appel ?

ludoxe ludoxe
MP
Niveau 10
26 octobre 2014 à 12:18:31

EEEUUUUH,bonjour ... je suis un amateur (vraiment incompétent) en matiere de creation de jeu, donc j'ai des questions surement simple et facile à résoudre :

1. Comment faire pour que le first character controller de base effectue un changement de scène (niveau) lors d'une collision avec un objet particulier ?

2 Quel est le script pour centrer le curseur pendant le jeu et le rendre invisible et où placer se script ?

3 Comment creer une écriture (un texte) qui s'afficherait en bas de l'écran pendant quelque seconde après avoir une colision avec un objet particulier

Merci :)

caelacanthe caelacanthe
MP
Niveau 10
26 octobre 2014 à 13:47:22

lapintade Voir le profil de lapintade
Posté via mobile le 26 octobre 2014 à 11:24:19 Avertir un administrateur
Merci. Y a t il un moyen de savoir si on est dans le second appel ?

:d) Oui. :oui:

void OnGUI()
{
if(Event.current.type == EventType.repaint){
//faire quelque chose durant le second appel
}
}

"donc j'ai des questions surement simple et facile à résoudre : "

:d) Le problème, c'est qu'une bonne partie de la réponse à ces questions implique de cliquer sur des boutons donc il faudrait passer deux heures à composer une réponse à base de captures d'écran, ou alors de réexpliquer le principe des scripts et dire de mettre du code dans des fonctions qu'on n'a même pas sous les yeux, ou qu'on aurait testé sur place mais qui ne marcherait pas chez toi pour une raison inconnue, donc plein d'allers-retour en fonction des erreurs que tu obtiens, et le problème se posera pour chaque minuscule étape du développement de ton projet, pourquoi ne pas devenir un amateur moins incompétent en matière de création de jeux via des tutoriels ou whatever de manière à savoir faire les tâches triviales? :oui:

Lapintade Lapintade
MP
Niveau 25
27 octobre 2014 à 09:33:40

Merci!
Je teste cela ce soir

Alistesios Alistesios
MP
Niveau 7
27 octobre 2014 à 13:21:12

Salut, j'aimerais savoir si il y a quelqu'un qui saurait m'apprendre à faire des animations convenablement. Je m'explique : j'ai un GameObject composé de plusieurs enfants (des models) et je souhaiterais animer ces models pour créer (par exemple) une animation de déplacement. Mais je n'y arrive pas très bien (voir pas du tout en fait ^^). Les animations ont toujours été un soucis pour moi... Si quelqu'un pouvait me MP et me montrer comment faire via Skype, ça serait super ! Merci d'avance :)

J'ai déjà regardé des tutos sur YouTube, je ne comprend pas très bien non plus ...

chiagedeluna chiagedeluna
MP
Niveau 10
27 octobre 2014 à 18:06:26

une "animation de déplacement", c'est à dire? Marcher, ramper, voler? Les objet sont des modèles déja animés? pourquoi sont ils enfant d'un gameobject?

Alistesios Alistesios
MP
Niveau 7
27 octobre 2014 à 18:54:53

En clair j'ai un GameObject "Player" (à la base un objet vide). Dans ce GameObject, on a plusieurs GameObjects, représentant chacun une partie du corps (les bras, les jambes, etc...). Ce que je cherche à faire c'est qu'en utilisant l'outil d'animation je puisse créer une animation de marche. Les modèles ne sont pas déjà animés.

Et sinon je suis en train de voir comment je pourrai faire pour animer le modèle sous Blender, pensant que ça serait plus simple ...

Lapintade Lapintade
MP
Niveau 25
27 octobre 2014 à 20:26:20

Merci les gars, ca fonctionne.

using UnityEngine;
using System.Collections;

public class HelloWorld : MonoBehaviour
{

// --------------------------------------------------
---------

void InitialiseGame()
{
}
// --------------------------------------------------
---------

void GameLoop()
{
}
// --------------------------------------------------
---------

// --------------------------------------------------
-------------------

// -------------------------------------

bool KGetSpace()
{
return Input.GetKey("space"); // gSpacePressed;
}
bool KGetRight()
{
return Input.GetKey("right");
}
bool KGetLeft()
{
return Input.GetKey("left");
}
bool KGetUp()
{
return Input.GetKey("up");
}
bool KGetDown()
{
return Input.GetKey("down");
}

public Texture aTexture;

byte[,] gScreen = new byte[30,20];
float gTimeElapsed=0.133f;

void OnGUI()
{
// if(Event.current.type == EventType.repaint) // Second call
if (!aTexture) {
Debug.LogError("Assign a Texture in the inspector.");
return;
}
// Display array
for (int i=0; i < 30; i++)
{
for (int j=0; j < 20; j++)
{
if ( gScreen[i,j]!=0 )
GUI.DrawTexture(new Rect( (i*Screen.width)/30, (j*Screen.height)/20, Screen.width/30, Screen.height/20), aTexture, ScaleMode.ScaleToFit, true, 0.0F);
}
}
}

void KPrintBall(int i, int j)
{
KPrintSquare(i,j);
}
void KPrintSquare(int i, int j)
{
if ( i<0 || i>=30 || j<0 || j>=20)
return;
gScreen[i,j]=1;
}

void EraseArray()
{
for (int i=0; i < 30; i++)
{
for (int j=0; j < 20; j++)
{
gScreen[i,j]=0;
}
}
}

// Use this for initialization
void Start ()
{
EraseArray();
Debug.Log("Hello World! (Game Object)");

Debug.Log(string.Format("Res = {0}x{1}",Screen.width,Screen.height) );
gTimeElapsed = 0.0f;

InitialiseGame();
}

// Update is called once per frame
void Update ()
{
gTimeElapsed += Time.deltaTime;
if ( gTimeElapsed > 0.133f )
{
gTimeElapsed -= 0.133f;
// Erase array
EraseArray();
GameLoop();
}
}
}

-nif -nif
MP
Niveau 6
27 octobre 2014 à 21:33:40

Bonsoir tout le monde,

J'ai besoin d'aide dans la réalisation de mon menu, après avoir suivi plusieurs tutos je n'arrive pas à lancer un son lorsque je clique sur un bouton.

Pouvez-vous m'aider ?

Merci d'avance.

fueel fueel
MP
Niveau 10
28 octobre 2014 à 01:34:55

Bonsoir, je recherche un asset ou tutoriel pour réaliser quelque chose de semblable à ceci:
http://www.unity3d-france.com/unity/2012/unityfurs-de-la-2d-a-la-3d/

Merci :)

Skyonch4 Skyonch4
MP
Niveau 9
28 octobre 2014 à 12:07:36

-nif , tu utilise quel version d'Unity ?

DébutPage précedente
«1  ... 3435363738394041424344  ... 180»
Page suivanteFin
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?