canvas - 三.js球体改变透明度无效?
问题描述
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script type="text/javascript" src="js/three.min.js"></script>
</head>
<body>
<div id="WebGL-output"></div>
<script type="text/javascript">
var w = window.innerWidth - 30;
var h = window.innerHeight - 30;
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(40, w / h, 0.1, 1000);
camera.position.set(50, 50, 50);
camera.lookAt(scene.position);
var renderer = new THREE.WebGLRenderer();
renderer.setClearColor(new THREE.Color(0xcccccc));
renderer.setSize(w, h);
var axes = new THREE.AxisHelper(30);
scene.add(axes);
document.getElementById("WebGL-output").appendChild(renderer.domElement);
var img = THREE.ImageUtils.loadTexture('./img/tt4.png');
var sphereGeometry = new THREE.SphereGeometry(10, 32, 16);
var sphereMaterial = new THREE.MeshBasicMaterial({
map: img
});
var sphere = new THREE.Mesh(sphereGeometry, sphereMaterial);
sphere.position.set(10, 10, 10);
scene.add(sphere);
setInterval(function () {
sphere.rotateY(Math.PI / 180);
renderer.render(scene, camera);
}, 1000 / 60)
setTimeout(function(){
console.log(sphereGeometry);
setInterval(function(){
// Modify transparency It does't work
sphereMaterial.opacity -= 0.05;
sphere.material.opacity -= 0.05;
}, 100)
}, 1000)
</script>
</body>
</html>
我想改变计时器内球体的透明度,直到它消失,但它不起作用?我尝试使用数组 sphere.material[0].opacity -= 0.05; 的形式 它还不行
解决方案
你应该改变
var sphereMaterial = new THREE.MeshBasicMaterial({
map: img
});
到
var sphereMaterial = new THREE.MeshBasicMaterial({
map: img, transparent: true
});
并使用
sphereMaterial.opacity -= 0.05;
没有必要使用
sphere.material.opacity -= 0.05;
推荐阅读
- ios - 未知类型名称“SKPaymentDiscount”。FBSDKCoreKit
- python - Python Pandas 在不改变顺序的情况下合并两个数据框
- python - SPSS和statsmodels中逻辑回归的不同p值
- wordpress - Woocommerce - 显示名称/标题上包含自定义文本的产品的简码
- android - 在android模拟器中通过http从本地播放mp3时出错
- javascript - JavaScript中有没有办法让 (10000).toLocaleString("zh") 可以在中文语言环境中打印出一万或一万?
- mysql - 具有多个连接的 MySQL Select 语句返回重复的记录
- python - 如何用另一个类的实例作为属性来实例化一个类?
- java - 如何使用 JSoup 从 Sports Reference 的数据表中检索数据?
- html - 缩小时,边框会导致边框和内容之间出现间隙