deepkolos / three-platformize

一个让 THREE 平台化的项目,目前已适配微信,淘宝,头条小程序,微信小游戏
533 stars 82 forks source link

相机不能设置旋转? #50

Open wanghepu opened 4 months ago

wanghepu commented 4 months ago

function init(canvas): void { clock = new Clock() fbxLoader = new FBXLoader() platform = new WechatPlatform(canvas) // webgl canvas platform.enableDeviceOrientation('game') // 开启DeviceOrientation PLATFORM.set(platform) renderer = new WebGLRenderer({ canvas, // context: canvas.getContext('webgl'), // alpha: true, antialias: true }) // renderer.setClearAlpha(.6) console.log('renderer', renderer.getClearAlpha(), renderer.getClearColor(new THREE.Color())) // renderer.setClearColor(new THREE.Color(0,0,0),0) const sizeVec2 = new THREE.Vector2() renderer.getDrawingBufferSize(sizeVec2) // 创建一个纹理,用于存储视频帧数据 dataTexture = new THREE.DataTexture(null, sizeVec2.x, sizeVec2.y) dataTexture.format = THREE.RGBAFormat dataTexture.type = THREE.UnsignedByteType dataTexture.needsUpdate = true

console.log(canvas.requestAnimationFrame)
// renderer.setPixelRatio(devicePixelRatio)
renderer.outputEncoding = sRGBEncoding
const width = canvas.width
const height = canvas.height
scene = new Scene()
// scene.background = new Color(0xbfe3dd)
const aspectRatio = width / height
camera = new PerspectiveCamera(75, aspectRatio, 0.001, 1000)
camera.position.z = 10
controlls = new OrbitControls(camera, renderer.domElement)
// controlls.autoRotate = true
controlls.enableDamping = true
// controlls.maxZoom = 3
addLight(scene)
const size = 10
const divisions = 10
const gridHelper = new GridHelper(size, divisions)
gridHelper.name = 'GridHelper'
scene.add(gridHelper)
clock.start()
const renderScene = new RenderPass(scene, camera)
finalComposer = new FinalComposer(dataTexture, renderer)
finalComposer.addPass(renderScene)
finalComposer.addPass(finalComposer.finalPass)
euler.set(0,Math.PI/ 2,0)
// camera.quaternion.setFromEuler(euler)
// camera.rotation.setFromQuaternion(camera.quaternion)
camera.rotation.y = 1.2
camera.lookAt(new THREE.Vector3(0,200,0))
startGyroscope()

} function animate() { if (!canvas) return renderId = canvas.requestAnimationFrame(animate) controlls.update() renderer.render(scene, camera) // finalComposer.render() } 设置的相机旋转不生效