bonjour,
Je commence un projet simple sur Unity :une cube(projectile) qui débute par une trajectoire rectiligne.
Une fois lançé l'animation,comment programmer ceci de façon à ce qu'à chaque appui sur une touche D(par exemple),le cube se duplique en déviant d'un angle 30° par exemple?
cf image jointe:
merci de votre aide
[DB]comment créer un tir dupliqué ?
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
- Kaloverian
- Messages : 336
- Inscription : 10 Août 2016 03:03
[DB]comment créer un tir dupliqué ?
Dernière édition par Kaloverian le 29 Mars 2019 15:19, édité 2 fois.
- Kaloverian
- Messages : 336
- Inscription : 10 Août 2016 03:03
Re: [DB]comment créer un tir dupliqué ?
j'ai essayé ce script C# dont le but est qu'à chaque appui de la touche D du clavier,le cube se duplique
Mais ce code juste ne répond au but cherché !
Pourquoi mon but n'est réalisé à travers ce code?
Peut-on m'aider?
merci
Mais ce code juste ne répond au but cherché !
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class cube : MonoBehaviour
{
public float moveSpeed = 10f;
public Transform Cube;
public Transform Cube2;
// Use this for initialization
void Start()
{
Instantiate (Cube, new Vector3 (2.0F, 0, 0), Quaternion.identity);
}
void Update()
{
transform.Translate(Time.deltaTime,0,0);
if (Input.GetKeyDown(KeyCode.D))
Instantiate (Cube2, new Vector3 (2.0F,0,2.0F), Quaternion.identity);
}
}
Peut-on m'aider?
merci
- boubouk50
- ModoGenereux
- Messages : 6186
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [DB]comment créer un tir dupliqué ?
Je ne sais pas ce que tu instancies, mais tu devrais cloner un prefab qui contient ton cube et son script pour que la duplication soit complète. Ainsi, à l'appui suivant, les 2 cubes se dupliqueront, etc...
Fais attention à la position de départ, tu devrais plutôt utiliser celle du parent plutôt qu'une donnée en dur.
Il te faudra aussi gérer les trajectoires, pour l'instant, il vont tous dans la même direction.
Fais attention à la position de départ, tu devrais plutôt utiliser celle du parent plutôt qu'une donnée en dur.
Il te faudra aussi gérer les trajectoires, pour l'instant, il vont tous dans la même direction.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
- Kaloverian
- Messages : 336
- Inscription : 10 Août 2016 03:03
Re: [DB]comment créer un tir dupliqué ?
j'ai réussi en C#à partir d'un cube animé de le dupliquer(clone) selon une autre trajectoire en appuyant sur une touche du clavier spécifique
Ma question,pour aller plus loin,est donc la suivante:
je cherche explication ou tuto montrant comment en c#,pour chaque cube cloné apparaissant seulement au cours de l'animation et pas dans la hiérarchie,leur ajouter des transformations(transform.Translate)ou leur attribuer un script comme j'ai pu le faire initialement sur les 2 seuls cubes de la hiérarchie
ou
Comment lors du playgame,pour chaque cube cloné à l'appui d'une touche, les faire naître définitivement dans la hiérarchie de Unity?
ou
Comment scripter un objet instancié dans un script?
merci de votre aide
Ma question,pour aller plus loin,est donc la suivante:
je cherche explication ou tuto montrant comment en c#,pour chaque cube cloné apparaissant seulement au cours de l'animation et pas dans la hiérarchie,leur ajouter des transformations(transform.Translate)ou leur attribuer un script comme j'ai pu le faire initialement sur les 2 seuls cubes de la hiérarchie
ou
Comment lors du playgame,pour chaque cube cloné à l'appui d'une touche, les faire naître définitivement dans la hiérarchie de Unity?
ou
Comment scripter un objet instancié dans un script?
merci de votre aide
- boubouk50
- ModoGenereux
- Messages : 6186
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [DB]comment créer un tir dupliqué ?
Je ne peux que me répéter: il te faut créer un prefab qui contiendra tout ce dont tu as besoin (meshFilter, scripts, etc). Et ce sera cet objet que tu instancieras. La fonction Instantiate () te permet de gérer la hiérarchie directement en lui donnant un parent en paramètre.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
- Kaloverian
- Messages : 336
- Inscription : 10 Août 2016 03:03
Re: [DB]comment créer un tir dupliqué ?
1)j'instancie le prefab comme ceci ?:
a)prefab_clone=Instantiate(prefab,origine.position,origine.rotation);
ou comme ceci?:
b)prefab=Instantiate(prefab_clone,origine.position,origine.rotation);
2)Le prefab crée dans la hiérarchie avec son script dans l'inpector,je le duplique et le met en child à ce même prefab.
Est-ce cela?
a)prefab_clone=Instantiate(prefab,origine.position,origine.rotation);
ou comme ceci?:
b)prefab=Instantiate(prefab_clone,origine.position,origine.rotation);
2)Le prefab crée dans la hiérarchie avec son script dans l'inpector,je le duplique et le met en child à ce même prefab.
Est-ce cela?
- boubouk50
- ModoGenereux
- Messages : 6186
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [DB]comment créer un tir dupliqué ?
Tout est écrit dans la doc. Je ne te la donne pas pour que je te la lise...
Description
Clones the object original and returns the clone.
Donc a)
Je ne sais pas ce que tu entends par prefab quand tu l'écris. Un prefab est un objet prédéfini par d'autres objets. Il n'est pas forcément dans la scène. Une fois créé, tu fais ce que tu veux du clone. Si tu veux le mettre en enfant d'un autre, tu peux. Tu peux même le faire directement dans la fonction d'instanciation.
Description
Clones the object original and returns the clone.
Donc a)
Je ne sais pas ce que tu entends par prefab quand tu l'écris. Un prefab est un objet prédéfini par d'autres objets. Il n'est pas forcément dans la scène. Une fois créé, tu fais ce que tu veux du clone. Si tu veux le mettre en enfant d'un autre, tu peux. Tu peux même le faire directement dans la fonction d'instanciation.
Code : Tout sélectionner
public static Object Instantiate(Object original, Vector3 position, Quaternion rotation, Transform parent);
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation