99 lines
2.8 KiB
JavaScript
99 lines
2.8 KiB
JavaScript
var GUN_RED_MODEL_URL = Script.resolvePath("models/portalgun_red.fbx");
|
|
var GUN_BLUE_MODEL_URL = Script.resolvePath("models/portalgun_blue.fbx");
|
|
|
|
var gunProps = {
|
|
"collisionsWillMove": 1,
|
|
"compoundShapeURL": Script.resolvePath("models/portalgun_collider.obj"),
|
|
"dimensions": {
|
|
"x": 0.17742760479450226,
|
|
"y": 0.38749998807907104,
|
|
"z": 0.99309998750686646
|
|
},
|
|
"dynamic": 1,
|
|
"gravity": {
|
|
"x": 0,
|
|
"y": -5,
|
|
"z": 0
|
|
},
|
|
"modelURL": Script.resolvePath("models/portalgun_red.fbx"),
|
|
"name": "Portal/Gun",
|
|
"position": {
|
|
"x": 1.4289360046386719,
|
|
"y": 0,
|
|
"z": 1.4532890319824219
|
|
},
|
|
"rotation": {
|
|
"w": 0.51259636878967285,
|
|
"x": -0.5248645544052124,
|
|
"y": 0.5236133337020874,
|
|
"z": -0.43306630849838257
|
|
},
|
|
lifetime: 100,
|
|
velocity: {
|
|
x: 0,
|
|
y: 0.5,
|
|
z: 0
|
|
},
|
|
"script": Script.resolvePath("portalGunClientEntity.js?" + Date.now()),
|
|
"shapeType": "compound",
|
|
"type": "Model",
|
|
"userData": "{\"grabbableKey\":{\"invertSolidWhileHeld\":true},\"wearable\":{\"joints\":{\"RightHand\":[{\"x\":0.1177130937576294,\"y\":0.12922893464565277,\"z\":0.08307232707738876},{\"x\":0.4934672713279724,\"y\":0.3605862259864807,\"z\":0.6394805908203125,\"w\":-0.4664038419723511}],\"LeftHand\":[{\"x\":0.09151676297187805,\"y\":0.13639454543590546,\"z\":0.09354984760284424},{\"x\":-0.19628101587295532,\"y\":0.6418180465698242,\"z\":0.2830369472503662,\"w\":0.6851521730422974}]}}}"
|
|
};
|
|
|
|
var lightProps = {
|
|
lifetime: 100,
|
|
"color": {
|
|
"blue": 255,
|
|
"green": 166,
|
|
"red": 41
|
|
},
|
|
"cutoff": 90,
|
|
"dimensions": {
|
|
"x": 5.0777130126953125,
|
|
"y": 5.0777130126953125,
|
|
"z": 5.0777130126953125
|
|
},
|
|
"falloffRadius": 2.2000000476837158,
|
|
"intensity": 5,
|
|
"name": "Portal/GunLight",
|
|
"localPosition": {
|
|
x: 0,
|
|
y: 0.1,
|
|
z: 0.5
|
|
},
|
|
"type": "Light"
|
|
};
|
|
|
|
var userData = JSON.parse(gunProps.userData);
|
|
var gunData = {
|
|
red: {
|
|
modelURL: GUN_RED_MODEL_URL,
|
|
lightColor: {
|
|
red: 255,
|
|
green: 23,
|
|
blue: 96,
|
|
}
|
|
},
|
|
blue: {
|
|
modelURL: GUN_BLUE_MODEL_URL,
|
|
lightColor: {
|
|
red: 41,
|
|
green: 166,
|
|
blue: 255,
|
|
}
|
|
}
|
|
};
|
|
var models = [GUN_RED_MODEL_URL, GUN_BLUE_MODEL_URL];
|
|
var colors = ['red', 'blue'];
|
|
for (var i = 0; i < colors.length; ++i) {
|
|
var color = colors[i];
|
|
gunProps.modelURL = gunData[color].modelURL;
|
|
gunProps.position = MyAvatar.position;
|
|
userData.color = color;
|
|
gunProps.userData = JSON.stringify(userData);
|
|
var gunID = Entities.addEntity(gunProps);
|
|
|
|
lightProps.color = gunData[color].lightColor;
|
|
lightProps.parentID = gunID;
|
|
Entities.addEntity(lightProps);
|
|
}
|