三.光线投射器在缩放的 THREE 中无法正常工作.精灵
THREE.Raycaster not working properly with scaled THREE.Sprite
我正在尝试使用THREE。光线投射器,用于在用户将鼠标悬停在对象上时显示 html 标签。如果我使用 THREE,它可以正常工作。网眼但有三个。雪碧看起来有一个空间随着对象的比例而增加。
两种方案的创建过程相同,我只根据变量更改类型USE_SPRITE。
if ( USE_SPRITE ) {
// using SpriteMaterial / Sprite
m = new THREE.SpriteMaterial( { color: 0xff0000 } );
o = new THREE.Sprite( m );
} else {
// using MeshBasicMaterial / Material
m = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
o = new THREE.Mesh(new THREE.PlaneGeometry( 1, 1, 1 ), m );
}
https://plnkr.co/edit/J0HHFMpDB5INYLSCTWHG?p=preview
我不确定这是否是 THREE 的错误。雪碧或如果我做错了什么。提前谢谢。
三.js R73
我认为这是 three.js r.75 中的一个错误。
使用三个网格进行光线投射.js是准确的。但是,对于精灵,这是一个近似值。
精灵始终面向相机,可以应用不同的 x 刻度和 y 刻度(非正方形),并且可以旋转(sprite.material.rotation = Math.random()
)。
在 THREE.Sprite.prototype.raycast()
中,进行以下更改:
var guessSizeSq = this.scale.x * this.scale.y / 4;
对于方形精灵来说,这应该效果更好。精灵的角将被遗漏,因为精灵被视为圆盘。
三.js R.75
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- ajaxToolkit PopupControlExtender不工作.过时的
- HTML标记在脚本标记中工作
- javascript扫雷器floodfill算法不能正常工作