mirror of
https://github.com/overte-org/overte.git
synced 2025-04-19 12:23:24 +02:00
muzzle is in sync
This commit is contained in:
parent
1a84b5c0f0
commit
4cc94b44ba
1 changed files with 69 additions and 71 deletions
|
@ -29,20 +29,12 @@
|
|||
this.equipped = false;
|
||||
this.forceMultiplier = 1;
|
||||
this.laserLength = 100;
|
||||
this.laserOffsets = {
|
||||
y: .095
|
||||
};
|
||||
this.firingOffsets = {
|
||||
z: 0.16
|
||||
}
|
||||
|
||||
this.fireSound = SoundCache.getSound("https://s3.amazonaws.com/hifi-public/sounds/Guns/GUN-SHOT2.raw");
|
||||
this.ricochetSound = SoundCache.getSound("https://s3.amazonaws.com/hifi-public/sounds/Guns/Ricochet.L.wav");
|
||||
this.playRichochetSoundChance = 0.1;
|
||||
this.fireVolume = 0.2;
|
||||
this.bulletForce = 10;
|
||||
|
||||
|
||||
|
||||
this.showLaser = false;
|
||||
|
||||
};
|
||||
|
@ -143,7 +135,7 @@
|
|||
direction: this.firingDirection
|
||||
};
|
||||
this.createGunFireEffect(this.barrelPoint)
|
||||
var intersection = Entities.findRayIntersection(pickRay, true);
|
||||
var intersection = Entities.findRayIntersectionBlocking(pickRay, true);
|
||||
if (intersection.intersects) {
|
||||
this.createEntityHitEffect(intersection.intersection);
|
||||
if (Math.random() < this.playRichochetSoundChance) {
|
||||
|
@ -301,76 +293,82 @@
|
|||
visible: true,
|
||||
lineWidth: 2
|
||||
});
|
||||
|
||||
this.laserOffsets = {
|
||||
y: .095
|
||||
};
|
||||
this.firingOffsets = {
|
||||
z: 0.16
|
||||
}
|
||||
var gunProps = Entities.getEntityProperties(this.entityID, ['position', 'rotation']);
|
||||
var position = gunProps.position;
|
||||
var rotation = gunProps.rotation;
|
||||
var rotation = Quat.fromPitchYawRollDegrees(0, 0, 0);
|
||||
this.firingDirection = Quat.getFront(rotation);
|
||||
var upVec = Quat.getUp(rotation);
|
||||
this.barrelPoint = Vec3.sum(position, Vec3.multiply(upVec, this.laserOffsets.y));
|
||||
this.barrelPoint = Vec3.sum(this.barrelPoint, Vec3.multiply(this.firingDirection, this.firingOffsets.z))
|
||||
|
||||
// this.flash = Entities.addEntity({
|
||||
// type: "ParticleEffect",
|
||||
// parentID: this.entityID,
|
||||
// position: this.barrelPoint,
|
||||
// "name": "Muzzle Flash",
|
||||
// // isEmitting: false,
|
||||
// "color": {
|
||||
// red: 228,
|
||||
// green: 128,
|
||||
// blue: 12
|
||||
// },
|
||||
// "maxParticles": 1000,
|
||||
// "lifespan": 0.1,
|
||||
// "emitRate": 1000,
|
||||
// "emitSpeed": 0.5,
|
||||
// "speedSpread": 0,
|
||||
// "emitOrientation": {
|
||||
// "x": -0.4,
|
||||
// "y": 1,
|
||||
// "z": -0.2,
|
||||
// "w": 0.7071068286895752
|
||||
// },
|
||||
// "emitDimensions": {
|
||||
// "x": 0,
|
||||
// "y": 0,
|
||||
// "z": 0
|
||||
// },
|
||||
// "polarStart": 0,
|
||||
// "polarFinish": Math.PI,
|
||||
// "azimuthStart": -3.1415927410125732,
|
||||
// "azimuthFinish": 2,
|
||||
// "emitAcceleration": {
|
||||
// "x": 0,
|
||||
// "y": 0,
|
||||
// "z": 0
|
||||
// },
|
||||
// "accelerationSpread": {
|
||||
// "x": 0,
|
||||
// "y": 0,
|
||||
// "z": 0
|
||||
// },
|
||||
// "particleRadius": 0.05,
|
||||
// "radiusSpread": 0.01,
|
||||
// "radiusStart": 0.05,
|
||||
// "radiusFinish": 0.05,
|
||||
// "colorSpread": {
|
||||
// red: 100,
|
||||
// green: 100,
|
||||
// blue: 20
|
||||
// },
|
||||
// "alpha": 1,
|
||||
// "alphaSpread": 0,
|
||||
// "alphaStart": 0,
|
||||
// "alphaFinish": 0,
|
||||
// "additiveBlending": true,
|
||||
// "textures": "http://ericrius1.github.io/PartiArt/assets/star.png"
|
||||
// });
|
||||
this.flash = Entities.addEntity({
|
||||
type: "ParticleEffect",
|
||||
position: this.barrelPoint,
|
||||
"name": "Muzzle Flash",
|
||||
isEmitting: false,
|
||||
"color": {
|
||||
red: 228,
|
||||
green: 128,
|
||||
blue: 12
|
||||
},
|
||||
"maxParticles": 1000,
|
||||
"lifespan": 0.1,
|
||||
"emitRate": 1000,
|
||||
"emitSpeed": 0.5,
|
||||
"speedSpread": 0,
|
||||
"emitOrientation": {
|
||||
"x": -0.4,
|
||||
"y": 1,
|
||||
"z": -0.2,
|
||||
"w": 0.7071068286895752
|
||||
},
|
||||
"emitDimensions": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"polarStart": 0,
|
||||
"polarFinish": Math.PI,
|
||||
"azimuthStart": -3.1415927410125732,
|
||||
"azimuthFinish": 2,
|
||||
"emitAcceleration": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"accelerationSpread": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"particleRadius": 0.05,
|
||||
"radiusSpread": 0.01,
|
||||
"radiusStart": 0.05,
|
||||
"radiusFinish": 0.05,
|
||||
"colorSpread": {
|
||||
red: 100,
|
||||
green: 100,
|
||||
blue: 20
|
||||
},
|
||||
"alpha": 1,
|
||||
"alphaSpread": 0,
|
||||
"alphaStart": 0,
|
||||
"alphaFinish": 0,
|
||||
"additiveBlending": true,
|
||||
"textures": "http://ericrius1.github.io/PartiArt/assets/star.png"
|
||||
});
|
||||
|
||||
Script.setTimeout(function() {
|
||||
Entities.editEntity(_this.flash, {parentID: _this.entityID});
|
||||
}, 500)
|
||||
|
||||
},
|
||||
|
||||
|
||||
};
|
||||
|
||||
// entity scripts always need to return a newly constructed object of our type
|
||||
|
|
Loading…
Reference in a new issue