|
@@ -72,6 +72,11 @@ THREE.DirectionalLightHelper = function ( light, sphereSize ) {
|
|
|
this.targetLine = new THREE.Line( lineGeometry, lineMaterial );
|
|
|
this.targetLine.properties.isGizmo = true;
|
|
|
|
|
|
+ }
|
|
|
+ else {
|
|
|
+
|
|
|
+ this.targetSphere = null;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//
|
|
@@ -99,16 +104,21 @@ THREE.DirectionalLightHelper.prototype.update = function () {
|
|
|
this.lightSphere.material.color.copy( this.color );
|
|
|
this.lightRays.material.color.copy( this.color );
|
|
|
|
|
|
- this.targetSphere.material.color.copy( this.color );
|
|
|
- this.targetLine.material.color.copy( this.color );
|
|
|
+ // Only update targetSphere and targetLine if available
|
|
|
+ if ( this.targetSphere ) {
|
|
|
|
|
|
- // update target line vertices
|
|
|
+ this.targetSphere.material.color.copy( this.color );
|
|
|
+ this.targetLine.material.color.copy( this.color );
|
|
|
|
|
|
- this.targetLine.geometry.vertices[ 0 ].copy( this.light.position );
|
|
|
- this.targetLine.geometry.vertices[ 1 ].copy( this.light.target.position );
|
|
|
+ // update target line vertices
|
|
|
|
|
|
- this.targetLine.geometry.computeLineDistances();
|
|
|
- this.targetLine.geometry.verticesNeedUpdate = true;
|
|
|
+ this.targetLine.geometry.vertices[ 0 ].copy( this.light.position );
|
|
|
+ this.targetLine.geometry.vertices[ 1 ].copy( this.light.target.position );
|
|
|
+
|
|
|
+ this.targetLine.geometry.computeLineDistances();
|
|
|
+ this.targetLine.geometry.verticesNeedUpdate = true;
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|