First, thank you for your replies today. And now, some deeper explanations.
The ship is stationary, at the origin (well, slightly off center.)
The pipes are generated, with the center of the pipe at origin.
The pipes begin to pass around the origin, with the origin staying at the center of the pipe.
The player’s velocity actually affects the speed at which the pipes ‘pass’ the origin.
The player has horizontal movement, which is converted to the rotation of the pipe - the player presses “left”, and the the pipe rotates, making it appear the player moved.
When obstacles/enemies spawn, the will spawn at random locations within a given pipe, as children of the pipe they spawned in.
Obastacles will stay stationary, with the player avoiding the obstacle by “dodging”, which actually moves the pipe, rather than the player. As the obsactles are stationary compared to the pipe, this gives the illusion the player dodged.
Enemies will be able to see the player’s rotation variable, and will apply it to themselves as a rotation translation, allowing them to rotate along the edge of the pipe (as the player does), while otherwise staying stationary to the pipe itself - the enemies never move from the segment of pipe they spawn in, they simply appear to do so as the pipe segments are all moving forward toward the player.
That’s how the project will function, and for simple movement, I actually don’t need the collision detection I am asking about, as nothing ever actually hits the pipe (the player literally cannot, as the pipe always rotates about him, keeping him just slightly above the surface). The reason I want to solve this issue is for weapons fire. I need to find a way to have the weapons fire follow the curve of the pipe, rather than just raycasting forward. My thought was to give each projectile two ‘layers’ - one invisible, that rolls along the surface of the pipe, using collision detection, and the other, smaller and visible, contained within, that actually contains the destruction collision trigger. The first, outer shell, will be on a layer that is culled from physics interaction with anything BUT the pipe.
I am open to alternatives, and ideas. Like I said, my thought was that the Pipe itself has no Mesh Filter (Mesh Filter component), or Mesh (Mesh Collider component), and I cannot seem to find a way to apply these properties, because the actual mesh for the pipe is generated at runtime, and does not exist in the editor unless the game is running.
I could make the player move, but “I don’t wanna” is the best reason I have. By doing it this way, it seems more resource friendly, as once complete the only thing moving will be weapons fire and the pipes themselves. Everything else is just rotating, stationary, with the only physics calls being between weapons fire and the pipe, reducing overhead (or so my thinking goes).
Hope this gives you more insight.