今回は上画像の様なものを、Blender3.1のGeometry Nodesで作成していきます。Blenderのバージョンが違うと仕様が変わってくるかもしれませんのでご注意ください。
ベースとなる球の作成

- デフォルトで配置されているCubeに対してGeometry Nodesを開きます。Geometry Inputは使用しないので削除します。
- Ico Sphereを作成します。Subdivisionを4としています。今回はOuterSphereという名前にしておきます。
- OuterSphereを縮小して内部に小さなIco Sphereをもう1つ作成します。Inner Sphereとい名前にしておきます。
- Inner Sphereは縮小したので、Ctrl+AでApply Scaleしておきます。また、OuterSphereとInner SphereはParent関係にしておき、OuterSphereを移動させたらInnerSphereも追従して動くようにします。
- 2つのIco SphereをCubeのGeometry Nodesに持っていきます。
球の変形

- outerSphereを完全な球ではなく、微妙に変形させていきます。Set Shade Smoothで球を滑らかにします。
- Capture AttributeでPositionをVector型で取得します。
- Noise Textureを使用し、取得した座標を移動させます。Vector Mathで-0.5を足すことで変形したジオメトリを原点に戻します。
- もう1つVector Mathを用いて、Capture Attributeで取得したPositionにNoise Textureの値を足します。
- 足した結果をSet Positionに接続して球の表面を変形させます。
Inner Sphereに小さな球を配置

- innerSphereの頂点状に小さな球を据えていきます。Instance on PointsでUV Sphereを配置していきます。
- Translate Instanceで配置した小さな球をNoise Textureで移動させます。
- Join Geometryでまとめておきます。
球を配置する点を作成

- Gridを作成します。適当に20m×30mとしています。
- Distribute Points on Facesで作成したGridにPointを生成します。Denstyは0.13としています。
- 生成した点をSet PositionとCombine XYZとRandom ValueでZ方向にランダムに移動させます。
生成した点に球を配置

- Instance on Pointsで生成した点にJoin Geometryでまとめておいた球を配置します。
- Random Valueで0.2~2.5の範囲でランダムな値を作成し、Scaleに接続します。
マテリアルを割り当てて

- Join Geometryの手前にSet Materialをそれぞれ配置します。


- innerSphereとouterSphereのマテリアルは上画像の感じでやってます。(※Shadingあまり得意ではないので参考程度にしてください・・・)
- World Propertyで背景を黒くし、適当にLightを配置し、カメラの位置を調整しCyclesでレンダリングして完成です。
完成


以上になります。私もまだまだ勉強し始めたばかりなので、不備などあったら是非教えてください。