user: Give a detailed overview of Object Types: syntax, arguments, return values, common patterns.

assistant: # Object Types

New objects can be created with the *Add* menu in the 3D Viewport’s header.

[Mesh](../../modeling/meshes/introduction.xhtml)
:   Objects composed of vertices, edges and polygonal faces
    and can be edited extensively with Blender’s mesh editing tools.
    See [Mesh Primitives](../../modeling/meshes/primitives.xhtml).

[Curve](../../modeling/curves/introduction.xhtml)
:   Mathematically defined objects which can be manipulated with control handles
    or control points (instead of vertices), to edit their length and curvature.
    See [Curves Primitives](../../modeling/curves/primitives.xhtml).

[Surface](../../modeling/surfaces/introduction.xhtml)
:   Mathematically defined patches that are manipulated with control points.
    These are useful for simple rounded forms and organic landscapes.
    See [Surfaces Primitives](../../modeling/surfaces/primitives.xhtml).

[Metaball](../../modeling/metas/introduction.xhtml)
:   Objects formed by a mathematical function (with no vertices or control points)
    defining the 3D volume in which the object exists. Meta objects have a liquid-like quality
    where when two or more metaballs are brought together,
    they merge by smoothly rounding out the connection, appearing as one unified object.
    See [Meta Primitives](../../modeling/metas/primitives.xhtml).

[Text](../../modeling/texts/introduction.xhtml)
:   Create a two-dimensional representation of a text.

[Volume](../../modeling/volumes/introduction.xhtml)
:   Container for OpenVDB files that is generated
    by other software or Blender’s [Fluid Simulator](../../physics/fluid/index.xhtml).

[Grease Pencil](../../grease_pencil/introduction.xhtml)
:   Objects created by drawing strokes.
    See [Grease Pencil Primitives](../../grease_pencil/primitives.xhtml)

[Armature](../../animation/armatures/index.xhtml)
:   Used for rigging 3D models to make them pose-able and animatable.

[Lattice](../../animation/lattice.xhtml)
:   Non-renderable wireframes commonly used for the deformation of other objects
    with help of the [Lattice Modifier](../../modeling/modifiers/deform/lattice.xhtml).

[Empty](../../modeling/empties.xhtml)
:   Null objects that are simple visual transform nodes that do not render.
    They are useful for controlling the position or movement of other objects.

[Image](../../modeling/empties.xhtml#bpy-types-object-empty-image)
:   Empty objects that display images in the 3D Viewport.
    These images can be used to aid artists in modeling or animating.

    Image Plane
    :   Adds a [mesh plane](../../modeling/meshes/primitives.xhtml#bpy-ops-mesh-primitive-plane-add) with materials and texture from an image file.
        The dimensions of the plane are calculated to match the aspect of the image file.

[Light](../../render/lights/light_object.xhtml)
:   Empty objects that emit light and are used for lighting the scene in renders.

[Light Probe](../../render/eevee/light_probes/index.xhtml)
:   Used by the EEVEE render engine to record lighting information for indirect lighting.

[Camera](../../render/cameras.xhtml)
:   This is the virtual camera that is used to determine what appears in the render.

[Speaker](../../render/output/audio/speaker.xhtml)
:   Empty objects that bring a source of sound to the scene.

[Force Field](../../physics/forces/force_fields/index.xhtml)
:   Empty objects that give simulations external forces, creating movement,
    and are represented in the 3D Viewport as small control objects.

[Collection Instance](properties/instancing/collection.xhtml)
:   Lets you select from a list of existing collections. Once selected, an empty object will be created,
    with an instance of the selected collection (collection instancing active).