[RESOLU][MY - AL] Nombre aléatoire suivant une loi de probabilités

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
FujiwaraTakumi
Messages : 2
Inscription : 02 Juin 2019 13:51

[RESOLU][MY - AL] Nombre aléatoire suivant une loi de probabilités

Message par FujiwaraTakumi » 02 Juin 2019 15:50

Bonjour,
J'essaie depuis un petit moment de créer mon jeu de pêche sur Unity 3D et je fais depuis peu face à un problème.
D'habitude j'essaie de me débrouiller seul, mais là je n'y arrive pas et je n'ai rien trouvé de concret sur internet, alors je fais un post ici ^^.

Le problème est simple, j'aimerais que les pêcheurs attrapent des poissons de tailles variables suivant une loi de probabilité. Par exemple prenons un poisson pêché, j'aimerais coder une fonction en C# qui retourne sa taille aléatoire qui suit une loi de probabilité (par exemple une loi normale). Le but est que le pêcheur attrape plus de poissons de tailles moyennes que de beaux spécimens. Et je ne veut pas scinder les probabilités en plusieurs intervalles, je veux une jolie courbe ... Je ne sais pas si je me fais bien comprendre.

J'ai essayé de me creuser la tête mais n'étant pas très doué en maths j'ai un peu de mal. Voilà, en espérant qu'il existe un moyen simple et efficace à côté duquel je suis passé.

Merci :)

Avatar de l’utilisateur
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: [MY - AL] Nombre aléatoire suivant une loi de probabilités

Message par Max » 02 Juin 2019 16:05

Hello,

Tu peux passer par les Curves. Le random sera compris entre 0 et 1, mais la valeur de sortie sur le "AnimationCurve" sera liée à la courbe définie.
Exemple de code:

Code : Tout sélectionner

    [SerializeField] private AnimationCurve curve;
...
...
            float percentage = Random.value;
            float result = curve.Evaluate(percentage);
            Debug.Log("%= "+ percentage + "R= " + result);   
dans ton inspector tu auras:
Image

tu click sur le curve, et tu définis la courbe que tu veux, en ajoutant des clés:
Image
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

FujiwaraTakumi
Messages : 2
Inscription : 02 Juin 2019 13:51

Re: [DB - AL] Nombre aléatoire suivant une loi de probabilités

Message par FujiwaraTakumi » 03 Juin 2019 12:35

Waouh, je connaissais pas du tout !
Merci beaucoup c'est exactement ce que je cherchais ! :D
Tu m'enlèves une grosse épine du pied ^^

Répondre

Revenir vers « (C#) CSharp »