threeJS如何修改已经生成的Geometry的长宽高?
我写了以下函数,目的是想创建面片,把图片作为面片的贴图放进场景里,现在想让面片能在图片加载成功后自动更新长宽,但是怎么都修改不了。我又不想异步创建面片...
function createPeace(img) {
var mesh,
geometry = new THREE.PlaneGeometry( 1, 1 );
var texture = new THREE.TextureLoader().load( "models/20nian.png" ,function (texture) {
//贴图加载成功后想修改之前创建的 geometry 的宽高,而不想修改
var i = texture.image;
geometry.parameters.width = i.naturalWidth/400;
geometry.parameters.height = 3;
console.log(geometry);
});
var material = new THREE.MeshBasicMaterial( {
color: 0xffff00,
side: THREE.DoubleSide,
map:texture
});
mesh = new THREE.Mesh( geometry, material );
mesh.lookAt(new THREE.Vector3(0,0,0));
return mesh;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不能修改geometry的尺寸,应该修改mesh的尺寸,mesh才是实体。
2.
5。
要修改的地方不少,总之就是要达到更新 WebGLBuffer的目的