Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
93ca5271
T
three.js
项目概览
Ablesons
/
three.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
three.js
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
93ca5271
编写于
4月 25, 2020
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Updated builds.
上级
ae282bcb
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
653 addition
and
511 deletion
+653
-511
build/three.js
build/three.js
+74
-3
build/three.min.js
build/three.min.js
+505
-505
build/three.module.js
build/three.module.js
+74
-3
未找到文件。
build/three.js
浏览文件 @
93ca5271
...
...
@@ -11652,6 +11652,14 @@
}
if ( object.isSkinnedMesh ) {
object.boneTransform( a, _vA );
object.boneTransform( b, _vB );
object.boneTransform( c, _vC );
}
var intersection = checkIntersection( object, material, raycaster, ray, _vA, _vB, _vC, _intersectionPoint );
if ( intersection ) {
...
...
@@ -23068,7 +23076,9 @@
cameraR.layers.enable( 2 );
cameraR.viewport = new Vector4();
var cameraVR = new ArrayCamera( [ cameraL, cameraR ] );
var cameras = [ cameraL, cameraR ];
var cameraVR = new ArrayCamera();
cameraVR.layers.enable( 1 );
cameraVR.layers.enable( 2 );
...
...
@@ -23421,12 +23431,23 @@
renderer.setFramebuffer( baseLayer.framebuffer );
var cameraVRNeedsUpdate = false;
// check if it's necessary to rebuild cameraVR's camera list
if ( views.length !== cameraVR.cameras.length ) {
cameraVR.cameras.length = 0;
cameraVRNeedsUpdate = true;
}
for ( var i = 0; i < views.length; i ++ ) {
var view = views[ i ];
var viewport = baseLayer.getViewport( view );
var camera = camera
VR.camera
s[ i ];
var camera = cameras[ i ];
camera.matrix.fromArray( view.transform.matrix );
camera.projectionMatrix.fromArray( view.projectionMatrix );
camera.viewport.set( viewport.x, viewport.y, viewport.width, viewport.height );
...
...
@@ -23437,6 +23458,12 @@
}
if ( cameraVRNeedsUpdate === true ) {
cameraVR.cameras.push( camera );
}
}
}
...
...
@@ -27121,7 +27148,51 @@
return new this.constructor( this.geometry, this.material ).copy( this );
}
},
boneTransform: ( function () {
var basePosition = new Vector3();
var skinIndex = new Vector4();
var skinWeight = new Vector4();
var vector = new Vector3();
var matrix = new Matrix4();
return function ( index, target ) {
var skeleton = this.skeleton;
var geometry = this.geometry;
skinIndex.fromBufferAttribute( geometry.attributes.skinIndex, index );
skinWeight.fromBufferAttribute( geometry.attributes.skinWeight, index );
basePosition.fromBufferAttribute( geometry.attributes.position, index ).applyMatrix4( this.bindMatrix );
target.set( 0, 0, 0 );
for ( var i = 0; i < 4; i ++ ) {
var weight = skinWeight.getComponent( i );
if ( weight !== 0 ) {
var boneIndex = skinIndex.getComponent( i );
matrix.multiplyMatrices( skeleton.bones[ boneIndex ].matrixWorld, skeleton.boneInverses[ boneIndex ] );
target.addScaledVector( vector.copy( basePosition ).applyMatrix4( matrix ), weight );
}
}
return target.applyMatrix4( this.bindMatrixInverse );
};
}() )
} );
build/three.min.js
浏览文件 @
93ca5271
此差异已折叠。
点击以展开。
build/three.module.js
浏览文件 @
93ca5271
...
...
@@ -11646,6 +11646,14 @@ function checkBufferGeometryIntersection( object, material, raycaster, ray, posi
}
if ( object.isSkinnedMesh ) {
object.boneTransform( a, _vA );
object.boneTransform( b, _vB );
object.boneTransform( c, _vC );
}
var intersection = checkIntersection( object, material, raycaster, ray, _vA, _vB, _vC, _intersectionPoint );
if ( intersection ) {
...
...
@@ -23060,7 +23068,9 @@ function WebXRManager( renderer, gl ) {
cameraR.layers.enable( 2 );
cameraR.viewport = new Vector4();
var cameraVR = new ArrayCamera( [ cameraL, cameraR ] );
var cameras = [ cameraL, cameraR ];
var cameraVR = new ArrayCamera();
cameraVR.layers.enable( 1 );
cameraVR.layers.enable( 2 );
...
...
@@ -23413,12 +23423,23 @@ function WebXRManager( renderer, gl ) {
renderer.setFramebuffer( baseLayer.framebuffer );
var cameraVRNeedsUpdate = false;
// check if it's necessary to rebuild cameraVR's camera list
if ( views.length !== cameraVR.cameras.length ) {
cameraVR.cameras.length = 0;
cameraVRNeedsUpdate = true;
}
for ( var i = 0; i < views.length; i ++ ) {
var view = views[ i ];
var viewport = baseLayer.getViewport( view );
var camera = camera
VR.camera
s[ i ];
var camera = cameras[ i ];
camera.matrix.fromArray( view.transform.matrix );
camera.projectionMatrix.fromArray( view.projectionMatrix );
camera.viewport.set( viewport.x, viewport.y, viewport.width, viewport.height );
...
...
@@ -23429,6 +23450,12 @@ function WebXRManager( renderer, gl ) {
}
if ( cameraVRNeedsUpdate === true ) {
cameraVR.cameras.push( camera );
}
}
}
...
...
@@ -27113,7 +27140,51 @@ SkinnedMesh.prototype = Object.assign( Object.create( Mesh.prototype ), {
return new this.constructor( this.geometry, this.material ).copy( this );
}
},
boneTransform: ( function () {
var basePosition = new Vector3();
var skinIndex = new Vector4();
var skinWeight = new Vector4();
var vector = new Vector3();
var matrix = new Matrix4();
return function ( index, target ) {
var skeleton = this.skeleton;
var geometry = this.geometry;
skinIndex.fromBufferAttribute( geometry.attributes.skinIndex, index );
skinWeight.fromBufferAttribute( geometry.attributes.skinWeight, index );
basePosition.fromBufferAttribute( geometry.attributes.position, index ).applyMatrix4( this.bindMatrix );
target.set( 0, 0, 0 );
for ( var i = 0; i < 4; i ++ ) {
var weight = skinWeight.getComponent( i );
if ( weight !== 0 ) {
var boneIndex = skinIndex.getComponent( i );
matrix.multiplyMatrices( skeleton.bones[ boneIndex ].matrixWorld, skeleton.boneInverses[ boneIndex ] );
target.addScaledVector( vector.copy( basePosition ).applyMatrix4( matrix ), weight );
}
}
return target.applyMatrix4( this.bindMatrixInverse );
};
}() )
} );
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录