A Simple geometry node setup to make sci fi like surfaces with random instances, updated for Blender 3.1.2 and more. You can use it to achieve a Star Wars imperial destroyer look, or achieve more architectural results by tinkering a bit.
It is more of a starting point to get familiar with geometry nodes and instances.
How to use it:
Move up the selected squares you want into the Selected_Squares Collection.
They will randomly be placed on your geometry vertices.
If you want one frequently than others, duplicate it and add it to the same collection.
Subdivision: the number of subdivisions added to the mesh supporting the Geometry nodes. Will add more points
Seed: Change all random values of the nodes
Max_Instances: useful to limit instances N first ones. You can set prefix names with numbers to order them
Random_Rotate: Allow to rotate instances with a 90° incremental angle
XY_Scale: Adjust the size of squares instances
Z_Scale: Adjust the scale on Z axis only
Z_Offset: Use it to low or rise instances
Extra On\Off: Enable additional instances such as lights or rounds scattered on the surface
Lights\Rounds: Switch between two collections
Extra_Z_Offset: Use it to low or rise extra instances
Extra_Scale: Global scale of extra
Align \ Distribute: Switch between vertex based instances, or scattered on the surface
Extra_Density: the number of extras scattered on the surface
An Empty_Instance. This collapsed Cube has only a single vertex, it won't be rendered either. Use it if you want to randomize a lack of instances.
License: not for commercial use.
It comes for free, since I used previous free objects from various sources and tweaked them as instances. I lost track of their respective authors (many thanks to them by the way).