scene save bug fix, set from camera for raycaster, lookAt for mesh
parent
237816ad7e
commit
a0500b9bd4
|
@ -194,7 +194,7 @@ GameLib.D3.API.Scene.FromObject = function(objectScene) {
|
||||||
objectScene.showGrid,
|
objectScene.showGrid,
|
||||||
objectScene.showAxis,
|
objectScene.showAxis,
|
||||||
objectScene.gridSize,
|
objectScene.gridSize,
|
||||||
objectScene.gridColor,
|
GameLib.API.Color.FromObject(objectScene.gridColor),
|
||||||
objectScene.parentEntity
|
objectScene.parentEntity
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -194,6 +194,28 @@ GameLib.D3.Mesh.MESH_TYPE_CYLINDER = 0x6;
|
||||||
GameLib.D3.Mesh.MESH_TYPE_TEXT = 0x7;
|
GameLib.D3.Mesh.MESH_TYPE_TEXT = 0x7;
|
||||||
GameLib.D3.Mesh.MESH_TYPE_LINE = 0x8;
|
GameLib.D3.Mesh.MESH_TYPE_LINE = 0x8;
|
||||||
|
|
||||||
|
GameLib.D3.Mesh.prototype.lookAt = function(vector) {
|
||||||
|
|
||||||
|
this.instance.lookAt(
|
||||||
|
new THREE.Vector3(
|
||||||
|
vector.x,
|
||||||
|
vector.y,
|
||||||
|
vector.z
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
this.rotation.x = this.instance.rotation.x;
|
||||||
|
this.rotation.y = this.instance.rotation.y;
|
||||||
|
this.rotation.z = this.instance.rotation.z;
|
||||||
|
|
||||||
|
this.quaternion.x = this.instance.quaternion.x;
|
||||||
|
this.quaternion.y = this.instance.quaternion.y;
|
||||||
|
this.quaternion.z = this.instance.quaternion.z;
|
||||||
|
this.quaternion.w = this.instance.quaternion.w;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
GameLib.D3.Mesh.prototype.createInstanceGeometry = function(instanceGeometry) {
|
GameLib.D3.Mesh.prototype.createInstanceGeometry = function(instanceGeometry) {
|
||||||
|
|
||||||
if (instanceGeometry instanceof THREE.Geometry) {
|
if (instanceGeometry instanceof THREE.Geometry) {
|
||||||
|
@ -537,7 +559,7 @@ GameLib.D3.Mesh.prototype.createInstance = function() {
|
||||||
/**
|
/**
|
||||||
* Updates the mesh instance
|
* Updates the mesh instance
|
||||||
*/
|
*/
|
||||||
GameLib.D3.Mesh.prototype.updateInstance = function() {
|
GameLib.D3.Mesh.prototype.updateInstance = function(property) {
|
||||||
|
|
||||||
if (( this.isBufferMesh && !(this.instance.geometry instanceof THREE.BufferGeometry)) ||
|
if (( this.isBufferMesh && !(this.instance.geometry instanceof THREE.BufferGeometry)) ||
|
||||||
( !this.isBufferMesh && (this.instance.geometry instanceof THREE.BufferGeometry)))
|
( !this.isBufferMesh && (this.instance.geometry instanceof THREE.BufferGeometry)))
|
||||||
|
|
|
@ -148,6 +148,29 @@ GameLib.D3.Raycaster.prototype.setPosition = function(
|
||||||
this.position.updateInstance();
|
this.position.updateInstance();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the ray position and direction from the mouse coordinates (in proper x and y (-1 to 1))
|
||||||
|
* @param mouse
|
||||||
|
* @param camera
|
||||||
|
*/
|
||||||
|
GameLib.D3.Raycaster.prototype.setFromCamera = function(
|
||||||
|
mouse,
|
||||||
|
camera
|
||||||
|
) {
|
||||||
|
this.instance.setFromCamera(
|
||||||
|
mouse,
|
||||||
|
camera.instance
|
||||||
|
);
|
||||||
|
|
||||||
|
this.position.x = this.instance.ray.origin.x;
|
||||||
|
this.position.y = this.instance.ray.origin.y;
|
||||||
|
this.position.z = this.instance.ray.origin.z;
|
||||||
|
|
||||||
|
this.direction.x = this.instance.ray.direction.x;
|
||||||
|
this.direction.y = this.instance.ray.direction.y;
|
||||||
|
this.direction.z = this.instance.ray.direction.z;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets all interesected GameLib.D3.Mesh objects
|
* Gets all interesected GameLib.D3.Mesh objects
|
||||||
* @param meshes [GameLib.D3.Mesh]
|
* @param meshes [GameLib.D3.Mesh]
|
||||||
|
|
|
@ -403,7 +403,7 @@ GameLib.D3.Scene.prototype.toApiObject = function() {
|
||||||
this.showGrid,
|
this.showGrid,
|
||||||
this.showAxis,
|
this.showAxis,
|
||||||
this.gridSize,
|
this.gridSize,
|
||||||
this.gridColor,
|
this.gridColor.toApiObject(),
|
||||||
GameLib.Utils.IdOrNull(this.parentEntity)
|
GameLib.Utils.IdOrNull(this.parentEntity)
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue