|  |  | 
 |  |  | import { Vector3 } from 'three'; | 
 |  |  | import { MeshReflectorMaterial, Html } from '@react-three/drei'; | 
 |  |  |  | 
 |  |  | // export interface ITunnelProps { | 
 |  |  | //   x: number; | 
 |  |  | //   y: number; | 
 |  |  | //   width: number; | 
 |  |  | //   height: number; | 
 |  |  | //   tunnelNumber: string; | 
 |  |  | // } | 
 |  |  | const Tunnel = ({ x, y, width, height, tunnelNumber }) => { | 
 |  |  |   // 巷道的位置 | 
 |  |  |   const innerPosition = new Vector3(x + width / 2, 1.1, y + height / 2); | 
 |  |  |   const outerPosition = new Vector3(x + width / 2, 1, y + height / 2); | 
 |  |  |   const textPosition = new Vector3(x + width / 2, 1.2, y + height / 2); | 
 |  |  | 
 |  |  |           metalness={0.85} | 
 |  |  |           roughness={0.95} | 
 |  |  |           mirror={0} | 
 |  |  |         ></MeshReflectorMaterial> | 
 |  |  |         /> | 
 |  |  |       </mesh> | 
 |  |  |       <mesh position={outerPosition} rotation={[-Math.PI / 2, 0, 0]}> | 
 |  |  |         <planeGeometry | 
 |  |  | 
 |  |  |         ></planeGeometry> | 
 |  |  |         <meshBasicMaterial color="rgb(221, 165, 15)"></meshBasicMaterial> | 
 |  |  |       </mesh> | 
 |  |  |       {/* <Text | 
 |  |  |             fontSize={24} | 
 |  |  |             color="white" | 
 |  |  |             anchorX="center" | 
 |  |  |             anchorY="middle" | 
 |  |  |             position={textPosition} | 
 |  |  |             rotation={[-Math.PI / 2, 0, 0]} | 
 |  |  |             matrixWorldAutoUpdate | 
 |  |  |             getObjectsByProperty={null} | 
 |  |  |             getVertexPosition={null} | 
 |  |  |          > | 
 |  |  |             {tunnelNumber} | 
 |  |  |             <meshPhongMaterial color={"white"}></meshPhongMaterial> | 
 |  |  |          </Text> */} | 
 |  |  |       <Html scale={100} rotation={[-Math.PI / 2, 0, 0]} position={textPosition} transform occlude> | 
 |  |  |         {tunnelNumber} | 
 |  |  |       </Html> |