gpt4 book ai didi

javascript - 如何让动画 Sprite 的 Alpha channel 透明?

转载 作者:行者123 更新时间:2023-11-30 19:37:21 26 4
gpt4 key购买 nike

我正在尝试通过制作一个小游戏来学习 ThreeJS 的功能。我有一个动画 Sprite ,通过使用 PlaneGeometry 并在我的 MeshBasicMaterial 中使用 png 纹理,它在我的场景中工作得很好,但不幸的是,即使我的 png 有一个 alpha channel ,网格将 alpha channel 显示为黑色,而我更喜欢它显然是透明的。有办法纠正这个问题吗?

//this is a customer function you can see at the top of my codepen
texture = new THREE.SpriteSheetTexture('assets/monster.png', 4, 1, 250, 4);

//loading the basic material here
var material = new THREE.MeshBasicMaterial({
map: texture
});
geometry = new THREE.PlaneGeometry(1, 1, 1, 1);
monster = new THREE.Mesh( geometry, material );
scene.add( monster );

您可以查看我如何在此处布置代码,但请注意,我无法在 codepen 上使用 png 资源: https://codepen.io/GreedFeed/pen/yrqpQY

最佳答案

您必须设置 THRRE.Material.transparent 属性声明 Material 透明并激活透明物体的特殊处理:

var material = new THREE.MeshBasicMaterial({ 
map: texture,
transparent: true
});

关于javascript - 如何让动画 Sprite 的 Alpha channel 透明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55796383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com