This paper proposes a new method to generate smooth camera movement that is collision-free in a three-dimensional virtual environment. It generates a set of cells based on cell decomposition using a loose octree in order not to intersect with polygons of the environment. The method de-nes a camera movement space (also known as Conguration Space) which is a set of cells in the virtual environment. In order to generate collision-free camera movement, the method holds a path as a graph structure which is based on the adjacency relationship of the cells, and makes the camera move on the graph. Furthermore, by using a potential function for finding out the force that aims the camera at the subject and a penalty function for finding out the force that restrains the camera on the graph when the camera moves on the graph, we generate smooth camera movement that captures the subject while avoiding obstacles. Several results in static and dynamic environments are presented and discussed.