weixin_40919082
2017-11-03 07:50用three做demo,阴影有问题
源代码如下:
$(function(){
var scene = new THREE.Scene();
var renderer = new THREE.WebGLRenderer({antialias:true});
renderer.setClearColor(0xEEEEEE,1.0);
renderer.setSize(window.innerWidth,window.innerHeight);
renderer.shadowMap.enabled = true;
var axes = new THREE.AxesHelper(20);
scene.add(axes);
//creat plane
var planeGeometry = new THREE.PlaneGeometry(60,20);
var planeMaterial = new THREE.MeshLambertMaterial({color:0xffffff});
var plane = new THREE.Mesh(planeGeometry,planeMaterial);
plane.rotation.x = -0.5*Math.PI;
plane.position.x = 15;
plane.position.y = 0;
plane.position.z = 0;
plane.receiveShadow = true;
scene.add(plane);
// creat cube
var cubeGeometry = new THREE.CubeGeometry(4,4,4);
var cubeMaterial = new THREE.MeshLambertMaterial({color:0xff0000,wireframe:true})
var cube = new THREE.Mesh(cubeGeometry,cubeMaterial);
cube.position.x = -4;
cube.position.y = 3;
cube.position.z = 0;
cube.castShadow = true;
scene.add(cube);
//creat sphere
var sphereGeometry = new THREE.SphereGeometry(4,4,4);
var sphereMaterial = new THREE.MeshLambertMaterial({color:0x7777ff,wireframe:true})
var sphere = new THREE.Mesh(sphereGeometry,sphereMaterial);
sphere.position.x = 20;
sphere.position.y = 4;
sphere.position.z = 2;
sphere.castShadow = true;
scene.add(sphere);
//add light
var spotLight = new THREE.SpotLight(0xffffff);
spotLight.position.set(-40,60,-10);
spotLight.castShadow = true;
scene.add(spotLight);
// add camera
var camera = new THREE.PerspectiveCamera(45,window.innerWidth/window.innerHeight,0.1,1000);
camera.position.x = -30;
camera.position.y = 40;
camera.position.z = 30;
camera.lookAt(scene.position);
$("#WebGL-output").append(renderer.domElement);
renderer.render(scene,camera);
})
- 点赞
- 回答
- 收藏
- 复制链接分享
1条回答
为你推荐
- 问题如下,请用C++回答?
- c++
- 2个回答
- 如何集成Golang后端和Javascript(three.js)前端?
- three.js
- javascript
- 3d
- 2个回答
- threejs导入的obj模型怎样把网格面转换为曲面?
- html5
- css3
- javascript
- java
- node.js
- 1个回答
- C语言怎么做分数的花剑问题,怎么计算概率分数
- r语言
- Golang
- erlang
- 1个回答
- 这个算法问题如果要用递归来做,应该怎么做呢?
- 递归
- each
- play
- numbers
- 1个回答
换一换