//// golfClub.js//// Created by Philip Rosedale on April 11, 2016.// Copyright 2016 High Fidelity, Inc.////// Distributed under the Apache License, Version 2.0.// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html//// A simple golf club. If you have equipped it, and pull trigger, it will either make // you a new golf ball, or take you to your ball if one is not made. var orientation = MyAvatar.orientation;orientation = Quat.safeEulerAngles(orientation);orientation.x = 0;orientation = Quat.fromVec3Degrees(orientation);var center = Vec3.sum(MyAvatar.getHeadPosition(), Vec3.multiply(2, Quat.getForward(orientation)));var CLUB_MODEL = "https://content.overte.org/Developer/Tutorials/golfClub/putter_VR.fbx";var CLUB_COLLISION_HULL = "https://content.overte.org/Developer/Tutorials/golfClub/club_collision_hull.obj";var CLUB_DIMENSIONS = { "x": 0.043093059211969376, "y": 1.1488667726516724, "z": 0.42455694079399109};var CLUB_ROTATION = { "w": 0.41972994804382324, "x": 0.78570234775543213, "y": -0.41875332593917847, "z": 0.17653167247772217};var SCRIPT_URL = "https://content.overte.org/Developer/Tutorials/entity_scripts/golfClub.js";var golfClubProperties = { position: center, lifetime: 3600, collisionsWillMove: true, compoundShapeURL: CLUB_COLLISION_HULL, description: "Spawns ball or jumps to ball with trigger", dimensions: CLUB_DIMENSIONS, dynamic: true, modelURL: CLUB_MODEL, name: "Tutorial Golf Putter", script: SCRIPT_URL, shapeType: "compound", type: "Model", gravity: { x: 0, y: -5.0, z: 0 }, grab: { equippable: true, equippableLeftPosition: { x: -0.1631782054901123, y: 0.44648152589797974, z: 0.10100018978118896 }, equippableLeftRotation: { x: -0.9181621670722961, y: -0.0772884339094162, z: -0.3870723247528076, w: -0.0343472845852375 }, equippableRightPosition: { x: 0.16826771199703217, y: 0.4757269620895386, z: 0.07139724493026733 }, equippableRightRotation: { x: -0.7976328134536743, y: -0.0011603273451328278, z: 0.6030101776123047, w: -0.012610925361514091 } }};var golfClub = Entities.addEntity(golfClubProperties);Script.stop();
//
// golfClub.js
//
// Created by Philip Rosedale on April 11, 2016.
// Copyright 2016 High Fidelity, Inc.
//
//
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
//
// A simple golf club. If you have equipped it, and pull trigger, it will either make
// you a new golf ball, or take you to your ball if one is not made.
var orientation = MyAvatar.orientation;
orientation = Quat.safeEulerAngles(orientation);
orientation.x = 0;
orientation = Quat.fromVec3Degrees(orientation);
var center = Vec3.sum(MyAvatar.getHeadPosition(), Vec3.multiply(2, Quat.getForward(orientation)));
var CLUB_MODEL = "https://content.overte.org/Developer/Tutorials/golfClub/putter_VR.fbx";
var CLUB_COLLISION_HULL = "https://content.overte.org/Developer/Tutorials/golfClub/club_collision_hull.obj";
var CLUB_DIMENSIONS = {
"x": 0.043093059211969376,
"y": 1.1488667726516724,
"z": 0.42455694079399109
};
var CLUB_ROTATION = {
"w": 0.41972994804382324,
"x": 0.78570234775543213,
"y": -0.41875332593917847,
"z": 0.17653167247772217
};
var SCRIPT_URL = "https://content.overte.org/Developer/Tutorials/entity_scripts/golfClub.js";
var golfClubProperties = {
position: center,
lifetime: 3600,
collisionsWillMove: true,
compoundShapeURL: CLUB_COLLISION_HULL,
description: "Spawns ball or jumps to ball with trigger",
dimensions: CLUB_DIMENSIONS,
dynamic: true,
modelURL: CLUB_MODEL,
name: "Tutorial Golf Putter",
script: SCRIPT_URL,
shapeType: "compound",
type: "Model",
gravity: {
x: 0,
y: -5.0,
z: 0
},
grab: {
equippable: true,
equippableLeftPosition: {
x: -0.1631782054901123,
y: 0.44648152589797974,
z: 0.10100018978118896
},
equippableLeftRotation: {
x: -0.9181621670722961,
y: -0.0772884339094162,
z: -0.3870723247528076,
w: -0.0343472845852375
},
equippableRightPosition: {
x: 0.16826771199703217,
y: 0.4757269620895386,
z: 0.07139724493026733
},
equippableRightRotation: {
x: -0.7976328134536743,
y: -0.0011603273451328278,
z: 0.6030101776123047,
w: -0.012610925361514091
}
}
};
var golfClub = Entities.addEntity(golfClubProperties);
Script.stop();