--- title: "Parameters" url: "https://help.maxon.net/c4d/en-us/Content/html/HP_SURFACEPOSITION-ID_GVPORTS.html" section_path: "Thinking Particles > Nodes > TP Helper Group > PSurfacePosition > Parameters" element_id: "HP_SURFACEPOSITION" group_id: "ID_GVPORTS" description: "Choose the object and whether the particles should be emitted from the object's points, edges or polygons." --- ## Parameters Choose the object and whether the particles should be emitted from the object's points, edges or polygons. ### Object Parameter ID: `HP_SURFACEPOS_OBJECT` Drag the name of the desired polygon object from the **Object Manager** and drop it into this box. ### Type Parameter ID: `HP_SURFACEPOS_TYPE` ### Selection Parameter ID: `HP_SURFACEPOS_SELECTION` Use Type to choose whether the positions should be generated on the object's points, edges or polygons (Type set to Face, Edges or Vertex respectively). In addition, you can restrict the positions to a frozen selection (i.e. a Point, Edge or Polygon Selection tag). Enter the name of the desired Selection tag into the Selection box. For details on frozen selections, please look up the Set Selection. ![Image: 002800.jpg](https://help.maxon.net/c4d/en-us/Content/Resources/Images/002800.jpg)\ Here we've stuck small, sphere-shaped particles to the surface of a larger sphere. Remember to use a Particle Geometry object to hold the smaller particle spheres and to set the Bounding Radius of the PShape node to a sensible value in relation to the size of the particle spheres. Additional input ports: ### Particle Parameter ID: `HP_SURFACEPOS_PARTICLE` Connect this port to the stream of particles that should be emitted from or placed on the object, such as to the Particle output port of a PPass node. ### Animation Time Parameter ID: `HP_SURFACEPOS_ATIME` Since the node's parameters can be keyframe animated, by default the Cinema 4D time is used internally to ensure that the values are interpolated correctly. However, you can pass your own time value to this port. This should be of the data type Time, which is a Real number in the simplest case. If no value is passed, Cinema 4D's time is used. Output ports: ### Position Parameter ID: `HP_SURFACEPOS_OUT_POSITION` ยท Range: [XYZ ] Outputs the random positions on the object. You can assign these values to particles by connecting this port to the Position port of a PSetData node. ### Normal Parameter ID: `HP_SURFACEPOS_OUT_NORMAL` Outputs the Normals of the random positions on the object. Using this information, you can set the velocity of each particle in such a way that the particles move perpendicular to the surface. ### Alignment Parameter ID: `HP_SURFACEPOS_OUT_ALIGNMENT` Outputs, as vectors, the current alignment of the particles.