add ckg
plantilla base para movimiento básico
This commit is contained in:
411
Assets/Game Kit Controller/Scripts/Weapons/IKWeaponInfo.cs
Normal file
411
Assets/Game Kit Controller/Scripts/Weapons/IKWeaponInfo.cs
Normal file
@@ -0,0 +1,411 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using GameKitController.Audio;
|
||||
|
||||
[System.Serializable]
|
||||
public class IKWeaponInfo
|
||||
{
|
||||
public GameObject weapon;
|
||||
public Transform aimPosition;
|
||||
public Transform walkPosition;
|
||||
public Transform keepPosition;
|
||||
public Transform aimRecoilPosition;
|
||||
public Transform walkRecoilPosition;
|
||||
|
||||
public bool checkSurfaceCollision;
|
||||
public float collisionRayDistance = 0.54f;
|
||||
public float collisionMovementSpeed = 10;
|
||||
public Transform surfaceCollisionPosition;
|
||||
public Transform surfaceCollisionRayPosition;
|
||||
public bool hideCursorOnCollision;
|
||||
|
||||
public bool checkSurfaceOnlyOnAiming;
|
||||
public bool avoidShootOnSurfaceDetected;
|
||||
public bool avoidAimingIfSurfaceDetected;
|
||||
|
||||
public Transform lowerWeaponPosition;
|
||||
|
||||
public bool useSwayInfo = true;
|
||||
public bool useRunPosition;
|
||||
public float runMovementSpeed = 10;
|
||||
public Transform runPosition;
|
||||
public bool hideCursorOnRun;
|
||||
public bool useRunSwayInfo;
|
||||
|
||||
public bool useJumpPositions;
|
||||
public Transform jumpStartPosition;
|
||||
public Transform jumpEndPosition;
|
||||
public float jumpStartMovementSpeed = 3;
|
||||
public float jumpEndtMovementSpeed = 3;
|
||||
public float resetJumpMovementSped = 3;
|
||||
public float delayAtJumpEnd = 0.4f;
|
||||
|
||||
public bool useReloadMovement;
|
||||
public BezierSpline reloadSpline;
|
||||
public float reloadDuration = 1;
|
||||
public float reloadLookDirectionSpeed = 11;
|
||||
|
||||
public bool useNewFovOnRun;
|
||||
public float changeFovSpeed;
|
||||
public float newFovOnRun;
|
||||
|
||||
|
||||
|
||||
public bool useMeleeAttack;
|
||||
public bool useCustomMeleeAttackLayer;
|
||||
public LayerMask customMeleeAttackLayer;
|
||||
public bool useCapsuleRaycast;
|
||||
public Transform meleeAttackPosition;
|
||||
public float meleeAttackStartMovementSpeed;
|
||||
public float meleeAttackEndMovementSpeed;
|
||||
public float meleeAttackEndDelay;
|
||||
public Transform meleeAttackRaycastPosition;
|
||||
public float meleeAttackRaycastDistance;
|
||||
public float meleeAttackCapsuleDistance = 1.5f;
|
||||
public float meleeAttackRaycastRadius;
|
||||
public float meleeAttackDamageAmount;
|
||||
public bool meleeAttackIgnoreShield;
|
||||
public bool useMeleeAttackShakeInfo;
|
||||
public bool applyMeleeAtackForce;
|
||||
public float meleeAttackForceAmount;
|
||||
public ForceMode meleeAttackForceMode;
|
||||
public bool meleeAttackApplyForceToVehicles;
|
||||
public float meleAttackForceToVehicles;
|
||||
public bool useMeleeAttackSound;
|
||||
public AudioClip meleeAttackSurfaceSound;
|
||||
public AudioElement meleeAttackSurfaceAudioElement;
|
||||
public AudioClip meleeAttackAirSound;
|
||||
public AudioElement meleeAttackAirAudioElement;
|
||||
public bool useMeleeAttackParticles;
|
||||
public GameObject meleeAttackParticles;
|
||||
public bool canActivateReactionSystemTemporally;
|
||||
public int damageReactionID = -1;
|
||||
|
||||
public int damageTypeID = -1;
|
||||
|
||||
public bool damageCanBeBlocked = true;
|
||||
|
||||
public bool useActionSystemForMeleeAttack;
|
||||
public string meleeAttackActionName;
|
||||
|
||||
public bool ignoreDamageValueOnLayer;
|
||||
public LayerMask layerToIgnoreDamage;
|
||||
|
||||
|
||||
public bool checkObjectsToUseRemoteEventsOnDamage;
|
||||
public LayerMask layerToUseRemoteEventsOnDamage;
|
||||
|
||||
public bool useRemoteEvent;
|
||||
public List<string> remoteEventNameList;
|
||||
|
||||
public bool useRemoteEventToEnableParryInteraction;
|
||||
public List<string> remoteEventToEnableParryInteractionNameList;
|
||||
|
||||
public bool showMeleeAttackGizmo;
|
||||
|
||||
public bool hasAttachments;
|
||||
public Transform editAttachmentPosition;
|
||||
public Transform attachmentCameraPosition;
|
||||
|
||||
public GameObject leftHandMesh;
|
||||
public GameObject extraLeftHandMesh;
|
||||
|
||||
public Transform leftHandEditPosition;
|
||||
|
||||
public Transform leftHandParent;
|
||||
public Transform extraLeftHandMeshParent;
|
||||
|
||||
public float editAttachmentMovementSpeed = 2;
|
||||
public float editAttachmentHandSpeed = 6;
|
||||
public bool usingSecondPositionForHand;
|
||||
public Transform secondPositionForHand;
|
||||
|
||||
public bool useSightPosition;
|
||||
public Transform sightPosition;
|
||||
public Transform sightRecoilPosition;
|
||||
|
||||
public bool canRunWhileCarrying = true;
|
||||
public bool canRunWhileAiming = true;
|
||||
public bool useNewCarrySpeed;
|
||||
public float newCarrySpeed;
|
||||
public bool useNewAimSpeed;
|
||||
public float newAimSpeed;
|
||||
|
||||
public bool deactivateIKIfNotAiming;
|
||||
public bool placeWeaponOnWalkPositionBeforeDeactivateIK = true;
|
||||
public List<Transform> deactivateIKDrawPath = new List<Transform> ();
|
||||
public Transform weaponPositionInHandForDeactivateIK;
|
||||
|
||||
public float drawWeaponMovementSpeed = 2;
|
||||
public float aimMovementSpeed;
|
||||
public bool weaponHasRecoil = true;
|
||||
public float recoilSpeed = 5;
|
||||
public float endRecoilSpeed = 4;
|
||||
public bool useExtraRandomRecoil;
|
||||
public bool useExtraRandomRecoilPosition = true;
|
||||
public Vector3 extraRandomRecoilPosition;
|
||||
public bool useExtraRandomRecoilRotation = true;
|
||||
public Vector3 extraRandomRecoilRotation;
|
||||
|
||||
public float resetWeaponPositionAfterReloadSpeed = 3;
|
||||
|
||||
public float resetWeaponPositionAfterActionSpeed = 5;
|
||||
|
||||
public float resumeWeaponIKPositionAfterActionSpeed = 8;
|
||||
|
||||
public bool useQuickDrawKeepWeapon;
|
||||
|
||||
public bool useBezierCurve;
|
||||
public BezierSpline spline;
|
||||
public float bezierDuration = 0.5f;
|
||||
public float lookDirectionSpeed = 11;
|
||||
|
||||
public List<Transform> keepPath = new List<Transform> ();
|
||||
public List<IKWeaponsPosition> handsInfo = new List<IKWeaponsPosition> ();
|
||||
public bool handsInPosition;
|
||||
|
||||
public bool useWeaponRotationPoint;
|
||||
public Transform weaponRotationPoint;
|
||||
public Transform weaponRotationPointHolder;
|
||||
public Transform weaponRotationPointHeadLookTarget;
|
||||
public weaponRotationPointInfo rotationPointInfo;
|
||||
public Transform weaponPivotPoint;
|
||||
|
||||
public bool useCrouchPosition;
|
||||
public Transform crouchPosition;
|
||||
public Transform crouchRecoilPosition;
|
||||
public float crouchMovementSpeed = 5;
|
||||
|
||||
public bool useHandle;
|
||||
[Range (0, 0.1f)] public float handleRadius;
|
||||
public Color handleGizmoColor;
|
||||
|
||||
public bool usePositionHandle = true;
|
||||
|
||||
public bool dualWeaponActive;
|
||||
|
||||
public bool usedOnRightHand;
|
||||
|
||||
public bool canBeUsedAsDualWeapon;
|
||||
public dualWeaponInfo rightHandDualWeaopnInfo;
|
||||
public dualWeaponInfo leftHandDualWeaponInfo;
|
||||
|
||||
public float changeOneOrTwoHandWieldSpeed = 5;
|
||||
|
||||
public bool usingWeaponAsOneHandWield;
|
||||
|
||||
public bool showSingleWeaponSettings;
|
||||
|
||||
public bool showDualWeaponSettings;
|
||||
|
||||
public bool useCustomThirdPersonAimActive;
|
||||
public string customDefaultThirdPersonAimRightStateName;
|
||||
public string customDefaultThirdPersonAimLeftStateName;
|
||||
|
||||
public bool useCustomThirdPersonAimCrouchActive;
|
||||
public string customDefaultThirdPersonAimRightCrouchStateName;
|
||||
public string customDefaultThirdPersonAimLeftCrouchStateName;
|
||||
|
||||
public bool useCustomThirdPersonWithoutAimActive;
|
||||
public string customDefaultThirdPersonWithoutAimRightStateName;
|
||||
public string customDefaultThirdPersonWithoutAimLeftStateName;
|
||||
|
||||
public bool useCustomThirdPersonWithoutAimCrouchActive;
|
||||
public string customDefaultThirdPersonWithoutAimRightCrouchStateName;
|
||||
public string customDefaultThirdPersonWithoutAimLeftCrouchStateName;
|
||||
|
||||
public bool useNewIdleID;
|
||||
public int newIdleID;
|
||||
|
||||
public bool useDrawKeepWeaponAnimation;
|
||||
public string drawWeaponActionName;
|
||||
public string keepWeaponActionName;
|
||||
|
||||
public float delayToPlaceWeaponOnHandOnDrawAnimation = 1;
|
||||
public float delayToPlaceWeaponOnKeepAnimation = 1;
|
||||
|
||||
public Vector3 FBAWalkPositionOffset;
|
||||
public Vector3 FBAWalkRotationOffset;
|
||||
|
||||
public Vector3 FBAWalkRecoilPositionOffset;
|
||||
public Vector3 FBAWalkRecoilRotationOffset;
|
||||
|
||||
public Vector3 FBARunPositionOffset;
|
||||
public Vector3 FBARunRotationOffset;
|
||||
|
||||
public Vector3 FBAAimPositionOffset;
|
||||
public Vector3 FBAAimRotationOffset;
|
||||
|
||||
public Vector3 FBAAimRecoilPositionOffset;
|
||||
public Vector3 FBAAimRecoilRotationOffset;
|
||||
|
||||
public Vector3 FBACrouchPositionOffset;
|
||||
public Vector3 FBACrouchRotationOffset;
|
||||
|
||||
public Vector3 FBACrouchRecoilPositionOffset;
|
||||
public Vector3 FBACrouchRecoilRotationOffset;
|
||||
|
||||
public Vector3 FBAJumpStartPositionOffset;
|
||||
public Vector3 FBAJumpStartRotationOffset;
|
||||
|
||||
public Vector3 FBAJumpEndPositionOffset;
|
||||
public Vector3 FBAJumpEndRotationOffset;
|
||||
|
||||
public Vector3 FBAObstaclePositionOffset;
|
||||
public Vector3 FBAObstacleRotationOffset;
|
||||
|
||||
|
||||
public float FBAMoveWalkPositionSpeed = 20;
|
||||
|
||||
public bool overrideFBAValuesForOffset;
|
||||
|
||||
public float FBARandomRecoilWalkPositionMultiplier = 1;
|
||||
public float FBARandomRecoilAimPositionMultiplier = 1;
|
||||
|
||||
public bool useFBARunPosition;
|
||||
|
||||
public bool ignoreIKElbowsOnFBA;
|
||||
|
||||
public List<FBAAimInfo> FBAAimInfoList = new List<FBAAimInfo> ();
|
||||
|
||||
public void InitializeAudioElements ()
|
||||
{
|
||||
if (meleeAttackSurfaceSound != null) {
|
||||
meleeAttackSurfaceAudioElement.clip = meleeAttackSurfaceSound;
|
||||
}
|
||||
|
||||
if (meleeAttackAirSound != null) {
|
||||
meleeAttackAirAudioElement.clip = meleeAttackAirSound;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class FBAAimInfo
|
||||
{
|
||||
public string Name;
|
||||
|
||||
public Vector3 FBAAimPositionOffset;
|
||||
public Vector3 FBAAimRotationOffset;
|
||||
|
||||
public Vector3 FBAAimRecoilPositionOffset;
|
||||
public Vector3 FBAAimRecoilRotationOffset;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class dualWeaponInfo
|
||||
{
|
||||
public Transform aimPosition;
|
||||
public Transform aimRecoilPosition;
|
||||
|
||||
public Transform walkPosition;
|
||||
public Transform walkRecoilPosition;
|
||||
|
||||
public Transform keepPosition;
|
||||
|
||||
public Transform crouchPosition;
|
||||
public Transform crouchRecoilPosition;
|
||||
|
||||
public float collisionRayDistance = 0.54f;
|
||||
public Transform surfaceCollisionPosition;
|
||||
public Transform surfaceCollisionRayPosition;
|
||||
|
||||
public Transform lowerWeaponPosition;
|
||||
public Transform runPosition;
|
||||
|
||||
public Transform jumpStartPosition;
|
||||
public Transform jumpEndPosition;
|
||||
|
||||
public Transform meleeAttackPosition;
|
||||
public Transform meleeAttackRaycastPosition;
|
||||
|
||||
public GameObject firstPersonHandMesh;
|
||||
|
||||
public Transform editAttachmentPosition;
|
||||
public Transform attachmentCameraPosition;
|
||||
|
||||
public bool deactivateIKIfNotAiming;
|
||||
public List<Transform> deactivateIKDrawPath = new List<Transform> ();
|
||||
public Transform weaponPositionInHandForDeactivateIK;
|
||||
public bool placeWeaponOnWalkPositionBeforeDeactivateIK = true;
|
||||
|
||||
public bool useDualRotationPoint;
|
||||
public Transform weaponRotationPoint;
|
||||
public Transform weaponRotationPointHolder;
|
||||
|
||||
public bool useBezierCurve;
|
||||
public BezierSpline spline;
|
||||
public float bezierDuration = 0.5f;
|
||||
public float lookDirectionSpeed = 11;
|
||||
|
||||
public List<Transform> keepPath = new List<Transform> ();
|
||||
public List<IKWeaponsPosition> handsInfo = new List<IKWeaponsPosition> ();
|
||||
public bool handsInPosition;
|
||||
|
||||
public bool useQuickDrawKeepWeapon;
|
||||
|
||||
public bool placeWeaponOnKeepPositionSideBeforeDraw;
|
||||
|
||||
public bool useReloadMovement;
|
||||
public BezierSpline reloadSpline;
|
||||
public float reloadDuration = 1;
|
||||
public float reloadLookDirectionSpeed = 11;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class IKWeaponsPosition
|
||||
{
|
||||
public string Name;
|
||||
public Transform handTransform;
|
||||
public AvatarIKGoal limb;
|
||||
public Transform position;
|
||||
public float HandIKWeight;
|
||||
public float targetValue;
|
||||
|
||||
public float IKSpeed = 5;
|
||||
|
||||
public float handMovementSpeed = 2;
|
||||
public Transform waypointFollower;
|
||||
public List<Transform> wayPoints = new List<Transform> ();
|
||||
public bool handInPositionToAim;
|
||||
public Transform transformFollowByHand;
|
||||
public bool usedToDrawWeapon;
|
||||
public IKWeaponsPositionElbow elbowInfo;
|
||||
public bool showElbowInfo;
|
||||
public Coroutine handMovementCoroutine;
|
||||
public bool handUsedInWeapon = true;
|
||||
|
||||
public bool ignoreIKWeight;
|
||||
|
||||
public bool useBezierCurve;
|
||||
public BezierSpline spline;
|
||||
public float bezierDuration = 0.5f;
|
||||
public float lookDirectionSpeed = 11;
|
||||
|
||||
public bool useGrabbingHandID;
|
||||
public int grabbingHandID = 1;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class IKWeaponsPositionElbow
|
||||
{
|
||||
public string Name;
|
||||
public AvatarIKHint elbow;
|
||||
public Transform position;
|
||||
public float elbowIKWeight;
|
||||
public float targetValue;
|
||||
public Transform elbowOriginalPosition;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class weaponRotationPointInfo
|
||||
{
|
||||
public float rotationUpPointAmountMultiplier = 1.5f;
|
||||
public float rotationDownPointAmountMultiplier = 1.5f;
|
||||
public float rotationPointSpeed = 20;
|
||||
public bool useRotationUpClamp = true;
|
||||
public float rotationUpClampAmount = 50;
|
||||
public bool useRotationDownClamp = true;
|
||||
public float rotationDownClamp = 31;
|
||||
}
|
||||
Reference in New Issue
Block a user