Thanks a lot for your help. Having read through my original post, I've just realised that I did an incredibly bad job of explaining the problem, so I've included some diagrams in order to explain.
I'm essentially trying to create a circle of objects in front of the player, in a 3D isometric game using C sharp.
A list representing each of the objects in the circle is looped over, and in each iteration the following code calculates the position that the new object will be inserted:
Vector3 rotated = (DirectionNode.Transform.basis.z.Rotated(new Vector3(1, 0, 0), angle));
spawnLocation = (parentEntity.Size * DirectionNode.Transform.basis.y) + (3f*rotated) + DirectionNode.GlobalTransform.origin;
This generates something like the following, when the player is facing the camera:

However (and this is the problem) when the player faces left or right the circle is still generated in exactly the same way as before (only in a different location), almost as if it is using global space for the rotations:

Whereas the desired effect would be for each of the objects to position itself relative to the direction the player is facing, like so:

I've tried everything I can think of and have been up all night trying to solve this so hopefully I'm not sounding too insane. But as you can tell, I've come to the limits of my available experience and am really not sure what's causing this, since I'm using the player's (relative) basis to rotate each object.
Some other things that might need mentioning:
The variable 'angle' above represents an angle (in radians) that is used to equally space each object within the full range of values (360 deg divided equally then converted to rad). This appears to be successfully creating a circle.
The 'parentEntity.Size' is used to position the circle a certain distance away from the player.
The 3 in '3f*rotated' is used to (in effect) increase the size of the circle's circumference.
So in a nutshell, what I'm trying to do is to rotate the whole circle (re-position each object) so that it faces in the direction that the player is facing. Can anyone please give any advice / solutions?