Compare commits
No commits in common. "feat/custom-character-controller" and "main" have entirely different histories.
feat/custo
...
main
Binary file not shown.
@ -1,107 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: e02dff03dafb8054cb8fde8c5bc701e2
|
|
||||||
ModelImporter:
|
|
||||||
serializedVersion: 22200
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
materials:
|
|
||||||
materialImportMode: 2
|
|
||||||
materialName: 0
|
|
||||||
materialSearch: 1
|
|
||||||
materialLocation: 1
|
|
||||||
animations:
|
|
||||||
legacyGenerateAnimations: 4
|
|
||||||
bakeSimulation: 0
|
|
||||||
resampleCurves: 1
|
|
||||||
optimizeGameObjects: 0
|
|
||||||
removeConstantScaleCurves: 0
|
|
||||||
motionNodeName:
|
|
||||||
animationImportErrors:
|
|
||||||
animationImportWarnings:
|
|
||||||
animationRetargetingWarnings:
|
|
||||||
animationDoRetargetingWarnings: 0
|
|
||||||
importAnimatedCustomProperties: 0
|
|
||||||
importConstraints: 0
|
|
||||||
animationCompression: 1
|
|
||||||
animationRotationError: 0.5
|
|
||||||
animationPositionError: 0.5
|
|
||||||
animationScaleError: 0.5
|
|
||||||
animationWrapMode: 0
|
|
||||||
extraExposedTransformPaths: []
|
|
||||||
extraUserProperties: []
|
|
||||||
clipAnimations: []
|
|
||||||
isReadable: 0
|
|
||||||
meshes:
|
|
||||||
lODScreenPercentages: []
|
|
||||||
globalScale: 1
|
|
||||||
meshCompression: 0
|
|
||||||
addColliders: 0
|
|
||||||
useSRGBMaterialColor: 1
|
|
||||||
sortHierarchyByName: 1
|
|
||||||
importPhysicalCameras: 1
|
|
||||||
importVisibility: 1
|
|
||||||
importBlendShapes: 1
|
|
||||||
importCameras: 1
|
|
||||||
importLights: 1
|
|
||||||
nodeNameCollisionStrategy: 1
|
|
||||||
fileIdsGeneration: 2
|
|
||||||
swapUVChannels: 0
|
|
||||||
generateSecondaryUV: 0
|
|
||||||
useFileUnits: 1
|
|
||||||
keepQuads: 0
|
|
||||||
weldVertices: 1
|
|
||||||
bakeAxisConversion: 0
|
|
||||||
preserveHierarchy: 0
|
|
||||||
skinWeightsMode: 0
|
|
||||||
maxBonesPerVertex: 4
|
|
||||||
minBoneWeight: 0.001
|
|
||||||
optimizeBones: 1
|
|
||||||
meshOptimizationFlags: -1
|
|
||||||
indexFormat: 0
|
|
||||||
secondaryUVAngleDistortion: 8
|
|
||||||
secondaryUVAreaDistortion: 15.000001
|
|
||||||
secondaryUVHardAngle: 88
|
|
||||||
secondaryUVMarginMethod: 1
|
|
||||||
secondaryUVMinLightmapResolution: 40
|
|
||||||
secondaryUVMinObjectScale: 1
|
|
||||||
secondaryUVPackMargin: 4
|
|
||||||
useFileScale: 1
|
|
||||||
strictVertexDataChecks: 0
|
|
||||||
tangentSpace:
|
|
||||||
normalSmoothAngle: 60
|
|
||||||
normalImportMode: 0
|
|
||||||
tangentImportMode: 3
|
|
||||||
normalCalculationMode: 4
|
|
||||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
|
||||||
blendShapeNormalImportMode: 1
|
|
||||||
normalSmoothingSource: 0
|
|
||||||
referencedClips: []
|
|
||||||
importAnimation: 1
|
|
||||||
humanDescription:
|
|
||||||
serializedVersion: 3
|
|
||||||
human: []
|
|
||||||
skeleton: []
|
|
||||||
armTwist: 0.5
|
|
||||||
foreArmTwist: 0.5
|
|
||||||
upperLegTwist: 0.5
|
|
||||||
legTwist: 0.5
|
|
||||||
armStretch: 0.05
|
|
||||||
legStretch: 0.05
|
|
||||||
feetSpacing: 0
|
|
||||||
globalScale: 1
|
|
||||||
rootMotionBoneName:
|
|
||||||
hasTranslationDoF: 0
|
|
||||||
hasExtraRoot: 0
|
|
||||||
skeletonHasParents: 1
|
|
||||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
|
||||||
autoGenerateAvatarMappingIfUnspecified: 1
|
|
||||||
animationType: 2
|
|
||||||
humanoidOversampling: 1
|
|
||||||
avatarSetup: 0
|
|
||||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
|
||||||
importBlendShapeDeformPercent: 1
|
|
||||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
|
||||||
additionalBone: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
Binary file not shown.
@ -1,107 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: cac0cc65c22082a45a4e2c1c334b4bed
|
|
||||||
ModelImporter:
|
|
||||||
serializedVersion: 22200
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
materials:
|
|
||||||
materialImportMode: 2
|
|
||||||
materialName: 0
|
|
||||||
materialSearch: 1
|
|
||||||
materialLocation: 1
|
|
||||||
animations:
|
|
||||||
legacyGenerateAnimations: 4
|
|
||||||
bakeSimulation: 0
|
|
||||||
resampleCurves: 1
|
|
||||||
optimizeGameObjects: 0
|
|
||||||
removeConstantScaleCurves: 0
|
|
||||||
motionNodeName:
|
|
||||||
animationImportErrors:
|
|
||||||
animationImportWarnings:
|
|
||||||
animationRetargetingWarnings:
|
|
||||||
animationDoRetargetingWarnings: 0
|
|
||||||
importAnimatedCustomProperties: 0
|
|
||||||
importConstraints: 0
|
|
||||||
animationCompression: 1
|
|
||||||
animationRotationError: 0.5
|
|
||||||
animationPositionError: 0.5
|
|
||||||
animationScaleError: 0.5
|
|
||||||
animationWrapMode: 0
|
|
||||||
extraExposedTransformPaths: []
|
|
||||||
extraUserProperties: []
|
|
||||||
clipAnimations: []
|
|
||||||
isReadable: 0
|
|
||||||
meshes:
|
|
||||||
lODScreenPercentages: []
|
|
||||||
globalScale: 1
|
|
||||||
meshCompression: 0
|
|
||||||
addColliders: 0
|
|
||||||
useSRGBMaterialColor: 1
|
|
||||||
sortHierarchyByName: 1
|
|
||||||
importPhysicalCameras: 1
|
|
||||||
importVisibility: 1
|
|
||||||
importBlendShapes: 1
|
|
||||||
importCameras: 1
|
|
||||||
importLights: 1
|
|
||||||
nodeNameCollisionStrategy: 1
|
|
||||||
fileIdsGeneration: 2
|
|
||||||
swapUVChannels: 0
|
|
||||||
generateSecondaryUV: 0
|
|
||||||
useFileUnits: 1
|
|
||||||
keepQuads: 0
|
|
||||||
weldVertices: 1
|
|
||||||
bakeAxisConversion: 0
|
|
||||||
preserveHierarchy: 0
|
|
||||||
skinWeightsMode: 0
|
|
||||||
maxBonesPerVertex: 4
|
|
||||||
minBoneWeight: 0.001
|
|
||||||
optimizeBones: 1
|
|
||||||
meshOptimizationFlags: -1
|
|
||||||
indexFormat: 0
|
|
||||||
secondaryUVAngleDistortion: 8
|
|
||||||
secondaryUVAreaDistortion: 15.000001
|
|
||||||
secondaryUVHardAngle: 88
|
|
||||||
secondaryUVMarginMethod: 1
|
|
||||||
secondaryUVMinLightmapResolution: 40
|
|
||||||
secondaryUVMinObjectScale: 1
|
|
||||||
secondaryUVPackMargin: 4
|
|
||||||
useFileScale: 1
|
|
||||||
strictVertexDataChecks: 0
|
|
||||||
tangentSpace:
|
|
||||||
normalSmoothAngle: 60
|
|
||||||
normalImportMode: 0
|
|
||||||
tangentImportMode: 3
|
|
||||||
normalCalculationMode: 4
|
|
||||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
|
||||||
blendShapeNormalImportMode: 1
|
|
||||||
normalSmoothingSource: 0
|
|
||||||
referencedClips: []
|
|
||||||
importAnimation: 1
|
|
||||||
humanDescription:
|
|
||||||
serializedVersion: 3
|
|
||||||
human: []
|
|
||||||
skeleton: []
|
|
||||||
armTwist: 0.5
|
|
||||||
foreArmTwist: 0.5
|
|
||||||
upperLegTwist: 0.5
|
|
||||||
legTwist: 0.5
|
|
||||||
armStretch: 0.05
|
|
||||||
legStretch: 0.05
|
|
||||||
feetSpacing: 0
|
|
||||||
globalScale: 1
|
|
||||||
rootMotionBoneName:
|
|
||||||
hasTranslationDoF: 0
|
|
||||||
hasExtraRoot: 0
|
|
||||||
skeletonHasParents: 1
|
|
||||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
|
||||||
autoGenerateAvatarMappingIfUnspecified: 1
|
|
||||||
animationType: 2
|
|
||||||
humanoidOversampling: 1
|
|
||||||
avatarSetup: 0
|
|
||||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
|
||||||
importBlendShapeDeformPercent: 1
|
|
||||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
|
||||||
additionalBone: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
File diff suppressed because it is too large
Load Diff
@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 9837b2b8dd7f213468aa67a089daafa9
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,16 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public class CapsuleColliderCast : MonoBehaviour
|
|
||||||
{
|
|
||||||
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
|
||||||
void Start()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update is called once per frame
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 427ea62952a5df34f8f4b800a64ddf04
|
|
@ -1,212 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Unity.Netcode;
|
|
||||||
using UnityEngine;
|
|
||||||
using UnityEngine.EventSystems;
|
|
||||||
using UnityEngine.InputSystem;
|
|
||||||
|
|
||||||
public class Character : NetworkBehaviour
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Kinematic character controller to move the player character
|
|
||||||
/// as a kinematic object
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
[Header("Input Controls")]
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Action reference for moving the player.
|
|
||||||
/// </summary>
|
|
||||||
[Tooltip("Action reference for moving the player")]
|
|
||||||
[SerializeField]
|
|
||||||
private InputActionReference moveAction;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Action reference for jumping.
|
|
||||||
/// </summary>
|
|
||||||
[Tooltip("Action reference for moving the player")]
|
|
||||||
[SerializeField]
|
|
||||||
private InputActionReference jumpAction;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Action reference for sprinting.
|
|
||||||
/// </summary>
|
|
||||||
[Tooltip("Action reference for moving the player")]
|
|
||||||
[SerializeField]
|
|
||||||
private InputActionReference sprintAction;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[Header("Ground Checking")]
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Distance to ground at which player is considered grounded
|
|
||||||
/// </summary>
|
|
||||||
[Tooltip("Distance from ground at which a player is considered standing on the ground")]
|
|
||||||
[SerializeField]
|
|
||||||
private float groundedDistance = 0.01f;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Distance to ground at which player is considered standing on something
|
|
||||||
/// </summary>
|
|
||||||
[Tooltip("Distance to ground at which player is considered standing on something")]
|
|
||||||
[SerializeField]
|
|
||||||
private float standingDistance = 0.1f;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Distance to check player distance to ground
|
|
||||||
/// </summary>
|
|
||||||
[Tooltip("Distance to draw rays down when checking if player is grounded")]
|
|
||||||
[SerializeField]
|
|
||||||
private float groundCheckDistance = 5f;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Maximum angle at which the player can walk (in degrees)
|
|
||||||
/// </summary>
|
|
||||||
[Tooltip("Maximum angle at which the player can walk")]
|
|
||||||
[SerializeField]
|
|
||||||
[Range(0, 90)]
|
|
||||||
private float maxWalkAngle = 60f;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Direction and strength of gravity
|
|
||||||
/// </summary>
|
|
||||||
[Tooltip("Direction and strength of gravity in units per second squared")]
|
|
||||||
[SerializeField]
|
|
||||||
private Vector3 gravity = new Vector3(0, -9.807f, 0);
|
|
||||||
|
|
||||||
|
|
||||||
[Header("Motion Settings")]
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Speed of player movement when walking.
|
|
||||||
/// </summary>
|
|
||||||
[Tooltip("Speed of player when walking")]
|
|
||||||
[SerializeField]
|
|
||||||
private float walkingSpeed = 7.5f;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Speed of player when sprinting.
|
|
||||||
/// </summary>
|
|
||||||
[Tooltip("Speed of player when sprinting")]
|
|
||||||
[SerializeField]
|
|
||||||
private float sprintSpeed = 10.0f;
|
|
||||||
|
|
||||||
[Header("Objects")]
|
|
||||||
[SerializeField] protected CharacterController _characterController;
|
|
||||||
[SerializeField] protected Camera _mainCam;
|
|
||||||
[SerializeField] protected AudioListener _audioListener;
|
|
||||||
[SerializeField] protected Weapon _weapon;
|
|
||||||
|
|
||||||
[Header("Input Actions")]
|
|
||||||
[SerializeField] protected PlayerInput _playerInput;
|
|
||||||
|
|
||||||
private void Awake()
|
|
||||||
{
|
|
||||||
_characterController = GetComponent<CharacterController>();
|
|
||||||
_playerInput = GetComponent<PlayerInput>();
|
|
||||||
_audioListener = GetComponentInChildren<AudioListener>();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Public Inputs Methods
|
|
||||||
|
|
||||||
// public void OnMove(InputAction.CallbackContext context)
|
|
||||||
// {
|
|
||||||
// _moveInput = context.ReadValue<Vector2>();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public void OnLook(InputAction.CallbackContext context)
|
|
||||||
// {
|
|
||||||
// _lookInput = context.ReadValue<Vector2>();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public void OnSprint(InputAction.CallbackContext context)
|
|
||||||
// {
|
|
||||||
// if (context.performed)
|
|
||||||
// {
|
|
||||||
// Debug.Log("Running");
|
|
||||||
// _speedMultiplier = _sprintMultiplier;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// _speedMultiplier = 1f;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public void OnJump(InputAction.CallbackContext context)
|
|
||||||
// {
|
|
||||||
// if (context.performed)
|
|
||||||
// {
|
|
||||||
// JumpServerRPC();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public void OnAttack(InputAction.CallbackContext context)
|
|
||||||
// {
|
|
||||||
// if (context.performed)
|
|
||||||
// {
|
|
||||||
// ShootServerRPC();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public void OnAim(InputAction.CallbackContext context)
|
|
||||||
// {
|
|
||||||
// if (context.performed)
|
|
||||||
// {
|
|
||||||
// AimServerRPC();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public void OnCrouch(InputAction.CallbackContext context)
|
|
||||||
// {
|
|
||||||
// if (context.performed)
|
|
||||||
// {
|
|
||||||
// CrouchServerRPC();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public void OnInteract(InputAction.CallbackContext context)
|
|
||||||
// {
|
|
||||||
// if (context.performed)
|
|
||||||
// {
|
|
||||||
// InteractServerRPC();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Networking Staff
|
|
||||||
// [ServerRpc]
|
|
||||||
// protected void JumpServerRPC()
|
|
||||||
// {
|
|
||||||
// if (_characterController.isGrounded)
|
|
||||||
// {
|
|
||||||
// Debug.Log($"Jump triggered. Owner: {OwnerClientId}");
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// [ServerRpc]
|
|
||||||
// protected void ShootServerRPC()
|
|
||||||
// {
|
|
||||||
// Debug.Log($"Shooting triggered. Owner: {OwnerClientId}");
|
|
||||||
// _weapon.Shooting();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// [ServerRpc]
|
|
||||||
// protected void AimServerRPC()
|
|
||||||
// {
|
|
||||||
// Debug.Log($"Aim triggered. Owner: {OwnerClientId}");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// [ServerRpc]
|
|
||||||
// protected void CrouchServerRPC()
|
|
||||||
// {
|
|
||||||
// Debug.Log($"Crouch triggered. Owner: {OwnerClientId}");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// [ServerRpc]
|
|
||||||
// protected void InteractServerRPC()
|
|
||||||
// {
|
|
||||||
// Debug.Log($"Interact triggered. Owner: {OwnerClientId}");
|
|
||||||
// }
|
|
||||||
}
|
|
@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 0fece460808cf3d45b461b8bd4230eb9
|
|
@ -11,11 +11,11 @@ public class PlayerModel : NetworkBehaviour
|
|||||||
// Исключаем слой ModelLocal из рендеринга для mainCamera
|
// Исключаем слой ModelLocal из рендеринга для mainCamera
|
||||||
if (IsLocalPlayer)
|
if (IsLocalPlayer)
|
||||||
{
|
{
|
||||||
SetLayerRecursively(gameObject, LayerMask.NameToLayer("ModelRemote"));
|
SetLayerRecursively(gameObject, LayerMask.NameToLayer("ModelLocal"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SetLayerRecursively(gameObject, LayerMask.NameToLayer("ModelLocal"));
|
SetLayerRecursively(gameObject, LayerMask.NameToLayer("ModelRemote"));
|
||||||
}
|
}
|
||||||
Debug.Log($"NetworkObject ID: {NetworkObjectId} RobotModel's LayerMask: " + gameObject.layer);
|
Debug.Log($"NetworkObject ID: {NetworkObjectId} RobotModel's LayerMask: " + gameObject.layer);
|
||||||
}
|
}
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "com.robotfireopenteam.customcharactercontroller",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"displayName": "Custom Character Controller",
|
|
||||||
"description": "Open Custom Kinematic Controller for making robots for RobotFire Unity Game",
|
|
||||||
"unity": "2019.1",
|
|
||||||
"documentationUrl": "https://robotfire.aderk.tech/docs",
|
|
||||||
"changelogUrl": "https://robotfire.aderk.tech/changelog.html",
|
|
||||||
"licensesUrl": "https://robotfire.aderk.tech/licensing.html",
|
|
||||||
"dependencies": {
|
|
||||||
},
|
|
||||||
"keywords": [
|
|
||||||
"library",
|
|
||||||
"utility",
|
|
||||||
"controller"
|
|
||||||
],
|
|
||||||
"author": {
|
|
||||||
"name": "Konstantin Ader",
|
|
||||||
"email": "dev@aderk.tech",
|
|
||||||
"url": "https://robotfire.aderk.tech"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: a2740a0fc4f8f9145aeda68e9065739c
|
|
||||||
PackageManifestImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -7,8 +7,8 @@
|
|||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.robotfireopenteam.customcharactercontroller": {
|
"com.twsp.robotfire.customcharactercontroller": {
|
||||||
"version": "file:custom-character-controller",
|
"version": "file:com.twsp.robotfire.customcharactercontroller",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "embedded",
|
"source": "embedded",
|
||||||
"dependencies": {}
|
"dependencies": {}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user