[RESOLU][DB-AL] ConstantForce

Pour les scripts écrits en C#
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
Répondre
zakilex
Messages : 17
Inscription : 10 Nov 2016 15:45

[RESOLU][DB-AL] ConstantForce

Message par zakilex » 08 Déc 2016 01:14

Bonjour, j’aimerai creér un script c# avec un void TriggerEnter ou autre, ajouter une force constante sur un Game objet.

En gros mon Player est une sphere et quand elle entre dans la zone de collision d'un cube alors on applique une force constante sur le Player tant qu'il est dans ce cube.

je veux créer un ventilateur en fait.

j’espère que je suis clair merci pour vos réponse car je tourne en rond.

Alexis.
Dernière édition par zakilex le 09 Déc 2016 14:29, édité 1 fois.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6246
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL] ConstantForce

Message par boubouk50 » 08 Déc 2016 10:16

As-tu déjà commencé à coder ce script? Montre-nous.
"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

Molgy
Messages : 26
Inscription : 12 Mai 2016 04:01

Re: [DB-AL] ConstantForce

Message par Molgy » 08 Déc 2016 10:36

Hello,

J'ai regardé vite fait sur le net et tu as quelqu'un qui a fait ca :

https://www.youtube.com/watch?v=iD_iwP-jkeM

Ça a l'air de correspondre à ce que tu veux faire, tu devrais jeter un oeil il met un lien pour télécharger le projet dans son lien.

Cordialement,

Molgy
T'entraîner tu devras, :!:
Tester tu feras, :?:
Réussite tu auras. 8-)
-- Dayo ! :merci:

zakilex
Messages : 17
Inscription : 10 Nov 2016 15:45

Re: [DB-AL] ConstantForce

Message par zakilex » 08 Déc 2016 15:02

Molgy j'ai deja vue cette vidéo mais c'est un peu trop complexe pour ce que je veux faire merci.
voici mon code:

Code : Tout sélectionner

using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Rigidbody))]

public class TriggerZoneRight : MonoBehaviour {

	void Start () {

	}

	void Update () {

	}
	
	void OnTriggerEnter(Collider other){
		if(other.gameObject.CompareTag("Ventillo"))
		{
			other.GetComponent<ConstantForce>().force = new Vector3 (100,0,0);
		}
	}
}
 ! Message de : boubouk50
Balises code!

Moi 1971
Messages : 727
Inscription : 29 Sep 2015 13:38

Re: [DB-AL] ConstantForce

Message par Moi 1971 » 08 Déc 2016 17:40

Bonjour,
"OnTriggerEnter" est une fonction qui est appelée quand un objet pénètre dans le collider. Elle est appelée une seule fois.
Si tu veux qu'une force soit appliquée "tant que" l'objet reste dans le collider, il vaut mieux utiliser "OnTriggerStay".
Il y a un exemple ici : https://docs.unity3d.com/ScriptReferenc ... rStay.html

zakilex
Messages : 17
Inscription : 10 Nov 2016 15:45

Re: [DB-AL] ConstantForce

Message par zakilex » 08 Déc 2016 23:37

j'ai essayer avec le TriggerStay mais cela ne fonctionne toujours pas, voici mon code:

Code : Tout sélectionner

using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Rigidbody))]

public class TriggerZoneRight : MonoBehaviour {


	//public float hoverForce = 20f;
	// Use this for initialization
	void Start () {


	}

	// Update is called once per frame
	void Update () {

	}
	void OnTriggerStay(Collider other){

	if(other.gameObject.CompareTag("Sphere"))
	


		
	{
			other.GetComponent<ConstantForce>().force = new Vector3 (200,0,0);


	}
	

}




}
fait il que je rajoute un esle?

Merci.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6246
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL] ConstantForce

Message par boubouk50 » 09 Déc 2016 10:22

Est-ce que l'objet qui possède le trigger est tagué Sphere?
Est-il bien un trigger? Est-ce que la gestion de collision est ben gérée?
As-tu une erreur console?

Utilises des Debug.Log pour savoir ce qu'il se passe:

Code : Tout sélectionner

using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Rigidbody))]

public class TriggerZoneRight : MonoBehaviour {

	//public float hoverForce = 20f;
   
	// Use this for initialization
	void Start () {

	}

	// Update is called once per frame
	void Update () {

	}
   
	//Te permet de savoir si tu entres dans un Trigger
	void OnTriggerEnter (Collider other) {
		if(other.gameObject.CompareTag("Sphere"))
			Debug.Log ("Trigger Sphere");
		else
   			Debug.Log ("Trigger qui n'est pas Sphere");
	}
   
	//Te permet de savoir si tu entres en Collision
	void OnCollisionEnter (Collision collision) {
		if(collision.gameObject.CompareTag("Sphere"))
			Debug.Log ("Collision Sphere");
		else
   			Debug.Log ("Collision qui n'est pas Sphere");
	}
   
	void OnTriggerStay(Collider other){
		other.GetComponent<ConstantForce>().force = new Vector3 (200,0,0);
	}
}
"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

zakilex
Messages : 17
Inscription : 10 Nov 2016 15:45

Re: [DB-AL] ConstantForce

Message par zakilex » 09 Déc 2016 14:28

en fait cela fonctionne avec un OnTriggerExit et j'applique le script sur la sphere:

Code : Tout sélectionner

using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Rigidbody))]

public class TriggerZoneRight : MonoBehaviour {


	
	
	void OnTriggerStay(Collider other){

	if(other.gameObject.CompareTag("Ventillo"))
	


		
	{
			
			GetComponent<ConstantForce>().force = new Vector3 (800,0,0);


	}
	

}

	void OnTriggerExit(Collider other){

		if(other.gameObject.CompareTag("Ventillo"))




		{
			
			GetComponent<ConstantForce>().force = new Vector3 (0,0,0);


		}


}
}

merci a vous tous.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6246
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [RESOLU][DB-AL] ConstantForce

Message par boubouk50 » 09 Déc 2016 14:43

???
OnTriggerExit () ne peut être appelé que si tu es déjà à l'intérieur d'un Trigger. Donc OnTriggerStay () est appelé avant. Donc si OnTriggerExit () fonctionne, OnTriggerStay () fonctionne également.
Ça n'a pas de sens, ce que tu dis.
"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

zakilex
Messages : 17
Inscription : 10 Nov 2016 15:45

Re: [RESOLU][DB-AL] ConstantForce

Message par zakilex » 09 Déc 2016 15:49

oui oui désolé, en fait le OnTriggerStay () fonctionne.

Répondre

Revenir vers « (C#) CSharp »