Script pour distribuer des particules de manière ordonnée sur la surface d'un cylindre dans Particle Flow

Publié le 20 January 2026 | Traduit de l'espagnol
Distribución ordenada de partículas en superficie de cilindro usando scripts en Particle Flow de 3ds Max

L'art de dompter les particules sur des cylindres

Distribuer des particules de manière ordonnée sur une surface cylindrique en Particle Flow peut sembler un défi complexe, mais avec les scripts et techniques appropriés, il est possible de transformer le chaos particulier en une formation parfaitement organisée. Les particules ont une tendance naturelle à l'anarchie, mais nous pouvons les persuader de s'aligner géométriquement.

Il existe plusieurs approches pour obtenir cette distribution ordonnée, depuis l'utilisation de l'opérateur Position Object avec des configurations spécifiques jusqu'à des scripts personnalisés qui offrent un contrôle total sur la position de chaque particule. Le choix dépend du niveau de précision requis et de la complexité du motif souhaité.

Dans le monde des particules, l'ordre n'est pas naturel, c'est une imposition mathématique bien planifiée

Solution avec Position Object et cartes de densité

La méthode la plus accessible pour les distributions de base est d'utiliser l'opérateur Position Object combiné à des cartes de densité. Cette méthode ne nécessite pas de scripting et offre de bons résultats pour les motifs réguliers.

Script de base pour une distribution uniforme

Pour un contrôle plus précis, ce script MaxScript distribue les particules uniformément sur la surface du cylindre. Copiez-le dans la fenêtre MaxScript et exécutez-le après avoir sélectionné votre cylindre.

Le script calcule les positions basées sur des coordonnées cylindriques, assurant un espacement uniforme tant en hauteur qu'en angle. C'est comme tracer des méridiens et des parallèles sur votre cylindre 😊

-- Script pour distribution cylindrique uniforme
cyl = $Cylinder01 -- Cambia por el nombre de tu cilindro
partCount = 100 -- Número de partículas

for i = 1 to partCount do (
    height = random 0.0 cyl.height
    angle = random 0.0 360.0
    radius = cyl.radius
    
    x = radius * cos(angle)
    y = radius * sin(angle) 
    z = height
    
    -- Aquí crearías la partícula en posición [x,y,z]
)

Implémentation en Particle Flow avec Position Icon

Pour intégrer le script dans Particle Flow, vous devez utiliser l'opérateur Position Icon et le contrôler via le script. Cette approche offre le meilleur équilibre entre contrôle et facilité d'utilisation.

Créez un petit script qui génère les positions puis utilisez un Position Icon pour émettre depuis ces points prédéfinis. C'est comme créer des points d'ancrage invisibles pour vos particules.

Script avancé avec contrôle de densité

Pour les projets nécessitant plus de sophistication, ce script avancé permet de contrôler la densité par zones et de créer des motifs spécifiques sur le cylindre.

Vous pouvez créer des spirales, des anneaux concentriques ou tout motif mathématique imaginable. Les particules se transforment en pixels tridimensionnels de votre design.

-- Distribución avanzada con control por zonas
fn distributeOnCylinder obj count pattern: "uniform" = (
    case pattern of (
        "spiral": ( -- Patrón espiral
            for i = 1 to count do (
                t = i / count
                height = obj.height * t
                angle = 360 * t * 5 -- 5 vueltas de espiral
                -- Cálculo de posición...
            )
        )
        "rings": ( -- Anillos concéntricos
            rings = 10
            perRing = count / rings
            -- Implementación de anillos...
        )
        "uniform": ( -- Distribución uniforme estándar
            -- Implementación uniforme...
        )
    )
)

Techniques alternatives sans scripting

Si vous préférez éviter le scripting, il existe des méthodes créatives utilisant les outils standards de 3ds Max. Parfois, la solution la plus élégante est celle qui utilise ce que vous avez déjà à disposition.

Vous pouvez créer un système d'aides distribuées manuellement puis faire en sorte que les particules s'émettent depuis ces points. C'est plus de travail manuel mais zéro programmation.

Optimisation pour grandes quantités

Quand vous travaillez avec des milliers de particules, les performances deviennent cruciales. Ces astuces vous aideront à maintenir la fluidité tout en distribuant de grandes quantités.

La distribution initiale peut être coûteuse en calcul, mais une fois établie, Particle Flow gère efficacement les particules existantes.

Après avoir implémenté ces solutions, vos particules s'aligneront obéissantes sur le cylindre comme des soldats en formation... bien que certaines préféreront toujours conserver leur esprit libre et rebelle 🎯