如何在three.js经过CSG.js处理后添加纹理
How add texture to a three.js after it has gone throught a CSG.js process?
这是我的代码:
var materialNormal = new THREE.MeshNormalMaterial();
var cubeGeometry = new THREE.CubeGeometry( 20, 500, 1000, 1, 1, 1 );
var cubeMesh = new THREE.Mesh( cubeGeometry );
cubeMesh.position.set(-50, 60, 0);
//scene.add(cubeMesh); //Meu
var cubeBSP = new ThreeBSP( cubeMesh );
var cubeGeometry = new THREE.CubeGeometry( 90, 90, 90, 1, 1, 1 );
var mat = new THREE.MeshBasicMaterial({color:0xffffff, shading: THREE.FlatShading, overdraw:0.5});
var cube3Mesh = new THREE.Mesh( cubeGeometry, mat );
cube3Mesh.position.set(-50, 60, 0);
//scene.add(cubeMesh); //Meu
var cubeOutroBSP = new ThreeBSP( cube3Mesh );
// Example #1 - Cube subtract
var newBSP = cubeBSP.subtract(cubeOutroBSP);
var newMesh = newBSP.toMesh(materialNormal);
newMesh.position.set(-180, 60, 0);
scene.add( newMesh );
如何为减法生成的对象添加纹理?
由three.CSG
返回的网格就像默认的three.js
mesh
,您可以在其中应用具有纹理的材料。
在您的示例中,这将是newMesh
,因此:
var texture = THREE.ImageUtils.loadTexture('yourtexture.jpg');
var material = new THREE.MeshPhongMaterial( { map: texture } );
//...
var newMesh = newBSP.toMesh( material );
newMesh.position.set(-180, 60, 0);
scene.add( newMesh );
相关文章:
- Node.JS处理重复的可传递依赖关系
- React.js处理第三方库安装
- 如何发布单选和复选框选择?表单由php和js处理
- 使用Backbone.js处理浏览器历史记录
- Ember.js处理View事件后转换到路由
- 节点.js:如何使用验证器.js处理多个验证
- 使用 Angular.js 处理基于 OAuth 令牌的身份验证
- 反应.js - 处理哑儿童状态的模式
- JS处理延迟后输入仅一次
- 使用 Handlebars.js 处理 executeSql 语句的结果
- Node JS - 处理多个查询(promise,bluebird)
- 节点.js处理异步
- 保存用caman.js处理过的图像
- kue node.js处理作业行为
- 如何使用angular js处理jsonarray响应?我得到了
- 什么'这是用express.js处理mongose连接的正确方法
- Node.js处理http请求的响应
- angular.js处理动态获取的数据
- 使用js处理iframe时出错
- Angular JS处理控制器事件