Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向场景添加灯光没有效果_Javascript_Three.js - Fatal编程技术网

Javascript 向场景添加灯光没有效果

Javascript 向场景添加灯光没有效果,javascript,three.js,Javascript,Three.js,我刚开始玩Three.JS,但我一开始就被卡住了。当我向场景添加灯光时,它没有效果 renderer = new THREE.WebGLRenderer() camera = new THREE.PerspectiveCamera 45, # View Angle 800 / 640, # Aspect 0.1, # Near 10000 # Far camera.position.z = 300 scene = new THREE.Scene() renderer.setSiz

我刚开始玩Three.JS,但我一开始就被卡住了。当我向场景添加灯光时,它没有效果

renderer = new THREE.WebGLRenderer()
camera = new THREE.PerspectiveCamera 45, # View Angle
  800 / 640, # Aspect
  0.1, # Near
  10000 # Far

camera.position.z = 300

scene = new THREE.Scene()
renderer.setSize 800, 640

document.body.appendChild(renderer.domElement)

createSphere = (radius = 50, segments = 16, rings = 16) ->
  sphere = new THREE.SphereGeometry(radius, segments, rings)
  material = new THREE.MeshBasicMaterial {
    color: 0xCC000F,
    shading: THREE.SmoothShading,
    ambient: 0x555555,
    specular: 0xffffff
  }

  new THREE.Mesh sphere, material 

light = new THREE.PointLight(0x0040ff)
light.position.x = 10
light.position.y = 50
light.position.z = 300
light.intensity  = 0.1

object = createSphere()
scene.add new THREE.AmbientLight(0x0000F0)
scene.add light
scene.add object

draw = ->
  time = new Date().getTime() * 0.0005;
  light.position.x = Math.sin(time * 0.7) * 30
  object.rotation.x += 0.02
  renderer.render scene, camera
  requestAnimationFrame draw

draw()

我还使用解析后的js创建了一个

MeshBasicMaterial不支持照明,您应该更改材质。支持照明的基本材料是MeshLambertMaterial,我有你的JSFIDLE

更详细的示例: