lemcore
Junior vMember
vDude
Posts: 49
|
Post by lemcore on May 28, 2020 14:25:28 GMT
You're doing an absolutely beautiful job! This will be like a dream come true for my game! Keep up the good work!! Thank you very much for the nice comment, I can do more amazing things and you motivate me to do this, your dream comes true quickly, see new features
|
|
lemcore
Junior vMember
vDude
Posts: 49
|
Post by lemcore on May 28, 2020 14:32:51 GMT
This looks awesome! Keep up the great work! Thanks, so far not awesome but very good, working at the same pace
|
|
lemcore
Junior vMember
vDude
Posts: 49
|
Post by lemcore on May 28, 2020 14:45:57 GMT
I will do everything for your convenience though, I do not really like ready-made online stores so were would you be willing to post the asset, im asking this question because i dont really buy from the vstore bu i do from the asset store, as it tends to be a more easier place to get from. Now I am completing some things in the add-on and correcting minor bugs, I will post this work on many sites, for example addon appear on: asset store, gumroad, own shop
|
|
|
Post by y2splashy on May 28, 2020 17:33:11 GMT
so were would you be willing to post the asset, im asking this question because i dont really buy from the vstore bu i do from the asset store, as it tends to be a more easier place to get from. Now I am completing some things in the add-on and correcting minor bugs, I will post this work on many sites, for example addon appear on: asset store, gumroad, own shop thats nice bro, will make sure to be one of the firsts to buy asset
|
|
lemcore
Junior vMember
vDude
Posts: 49
|
Post by lemcore on May 29, 2020 8:36:10 GMT
Now I am completing some things in the add-on and correcting minor bugs, I will post this work on many sites, for example addon appear on: asset store, gumroad, own shop thats nice bro, will make sure to be one of the firsts to buy asset Ok man, somewhere I already heard it
|
|
|
Post by thegod on May 29, 2020 9:52:31 GMT
what about price ?
|
|
lemcore
Junior vMember
vDude
Posts: 49
|
Post by lemcore on May 30, 2020 9:24:39 GMT
Please look a page "3" there is a detailed answer to your question
|
|
|
Post by pyrolander on Jun 4, 2020 11:41:33 GMT
this is incredible. love it
|
|
|
Post by oanh201079 on Jun 5, 2020 8:10:54 GMT
where link ? i will buy it for my game
|
|
lemcore
Junior vMember
vDude
Posts: 49
|
Post by lemcore on Jun 5, 2020 21:09:38 GMT
where link ? i will buy it for my game This is impossible to do now, but soon everything will change , unfortunately, I have a lot to do now, but the release will be this month, the addon has not passed the health check on Unity 2019.3, half of the addon on this version does not work, when the problem is solved, it will be release
|
|
|
Post by septimustitus on Jun 7, 2020 0:33:14 GMT
Sweet! Will be waiting for this.
|
|
redox
Junior vMember
Posts: 31
|
Post by redox on Jul 9, 2020 9:04:10 GMT
yes waiting it ;DD
|
|
|
Post by pararini on Jul 9, 2020 16:21:25 GMT
Me too ;D
|
|
|
Post by kingceryn on Jul 15, 2020 23:25:15 GMT
Following- happy to support it with some cash!
|
|
|
Post by pararini on Jul 17, 2020 16:55:09 GMT
for those who can not wait is not as good as his, but until his release is good enough
[edit] replace the JumpInput() in vThirdpersonInput to: protected virtual void JumpInput()
{
if (jumpInput.GetButtonDown() && JumpConditions() && !GetComponent<vParkourCover>().canParkour)
{
cc.Jump(true);
}
else if(jumpInput.GetButtonDown() && JumpConditions() && GetComponent<vParkourCover>().canParkour)
{
GetComponent<vParkourCover>().CheckInput(true);
}
}
and add the Tag "Parkour" to the vAnimationTag from climbup ect...
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Invector;
using Invector.vCharacterController;
using Invector.vCharacterController.vActions;
[vClassHeader("vParkour/Cover System", iconName = "inputIcon")]
public class vParkourCover : vMonoBehaviour
{
[vEditorToolbar("Settings")]
public GenericInput CoverInput = new GenericInput("Mouse1", false, "LT", true, "LT", false);
public Transform Raycast;
public LayerMask ActionLayer;
public vTagMask ActionTag;
public vTagMask IgnoreTag;
[Header("Current")]
public string animstring = "Vault";
public Vector3 Matchpos;
[Range(0.0f, 1f)]
public float MatchRot;
public float StartMatchTarget;
public float EndMatchTarget;
public AvatarTarget AvatarTarget = AvatarTarget.Body;
public bool disableGravity;
public bool disableCollision;
public float delay;
[Header("Detect")]
public float OverTopDistace;
public float TopDistance;
public float MiddleDistance;
public float FootDistance;
public float FrontDistance;
public Transform OverTop;
public Transform Top;
public Transform Middle;
public Transform Foot;
public Transform Front;
public bool OverTopValid;
public bool TopValid;
public bool MiddleValid;
public bool FootValid;
public bool FrontValid;
public string AnimationStateHierarchy = "Base Layer.Action.Parkour";
public string CameraState = "";
public Vector3 m_Target = new Vector3();
[vEditorToolbar("Vault")]
public float Vaultoffset;
public bool canVault;
public string VaultAnim = "Vault";
public Vector3 VaultMatchpos;
[Range(0.0f, 1f)]
public float VaultMatchRot;
public float VaultStartMatchTarget;
public float VaultEndMatchTarget;
public AvatarTarget VaultAvatarTarget = AvatarTarget.Body;
public bool vdisableGravity;
public bool vdisableCollision;
[vEditorToolbar("Climb")]
public float Climboffset;
public bool canClimb;
public string ClimbAnim = "ClimpUp";
public Vector3 ClimbMatchpos;
[Range(0.0f, 1f)]
public float ClimbMatchRot;
public float ClimbStartMatchTarget;
public float ClimbEndMatchTarget;
public AvatarTarget ClimbAvatarTarget = AvatarTarget.Body;
public bool cdisableGravity;
public bool cdisableCollision;
[vEditorToolbar("Stepup")]
public float StepupOffset;
public bool canStepup;
public string StepUpAnim = "Stepup";
public Vector3 StepupMatchpos;
[Range(0.0f, 1f)]
public float StepupMatchRot;
public float StepupStartMatchTarget;
public float StepupEndMatchTarget;
public AvatarTarget StepupAvatarTarget = AvatarTarget.Body;
public bool sdisableGravity;
public bool sdisableCollision;
Ray OverTopRay;
Ray TopRay;
Ray MiddleRay;
Ray FootRay;
Ray FrontRay;
[HideInInspector] public RaycastHit OverTopHit;
[HideInInspector] public RaycastHit TopHit;
[HideInInspector] public RaycastHit MiddleHit;
[HideInInspector] public RaycastHit FootHit;
[HideInInspector] public RaycastHit FrontHit;
public GameObject DebugCube;
[vEditorToolbar("Debug")]
public bool debug;
public bool canParkour;
bool checkupdate;
bool inParkour;
Animator anim;
vShooterMeleeInput tpc;
NetworkIdentity owner;
// Start is called before the first frame update
void Start()
{
anim = GetComponent<Animator>();
tpc = GetComponent<vShooterMeleeInput>();
}
// Update is called once per frame
void Update()
{
CheckInput();
Detection();
CheckObject();
if (debug)
{
DebugCube.transform.position = m_Target;
}
EnablePlayerGravityAndCollision();
}
public void CheckInput(bool ccinput = false)
{
if (inParkour)
{
tpc.cc.MatchTarget(m_Target, new Quaternion(), AvatarTarget,
new MatchTargetWeightMask(Matchpos, MatchRot), StartMatchTarget, EndMatchTarget);
}
if ((ccinput || tpc.cc.isSprinting) && tpc.cc.isGrounded && !tpc.cc.isDead && !tpc.cc.IsAnimatorTag("CustomAction") && !tpc.cc.ragdolled && canParkour)
{
if (canClimb)
{
tpc.cc.StopCharacter();
m_Target = TopHit.point;
m_Target.y = TopHit.collider.bounds.extents.y + TopHit.transform.position.y + Climboffset;
TriggerAnimation(ClimbAnim);
DisablePlayerGravityAndCollision(cdisableGravity, cdisableCollision);
AvatarTarget = ClimbAvatarTarget;
Matchpos = ClimbMatchpos;
MatchRot = ClimbMatchRot;
StartMatchTarget = ClimbStartMatchTarget;
EndMatchTarget = ClimbEndMatchTarget;
}
if (canVault)
{
tpc.cc.StopCharacter();
m_Target = MiddleHit.point;
m_Target.y = MiddleHit.collider.bounds.extents.y + MiddleHit.transform.position.y + Vaultoffset;
TriggerAnimation(VaultAnim);
DisablePlayerGravityAndCollision(vdisableGravity, vdisableCollision);
AvatarTarget = VaultAvatarTarget;
Matchpos = VaultMatchpos;
MatchRot = VaultMatchRot;
StartMatchTarget = VaultStartMatchTarget;
EndMatchTarget = VaultEndMatchTarget;
}
if (canStepup)
{
tpc.cc.StopCharacter();
m_Target = FootHit.point;
m_Target.y = FootHit.collider.bounds.extents.y + FootHit.transform.position.y + StepupOffset;
TriggerAnimation(StepUpAnim);
DisablePlayerGravityAndCollision(sdisableGravity, sdisableCollision);
AvatarTarget = StepupAvatarTarget;
Matchpos = StepupMatchpos;
MatchRot = StepupMatchRot;
StartMatchTarget = StepupStartMatchTarget;
EndMatchTarget = StepupEndMatchTarget;
}
}
if (ccinput == false && !tpc.cc.isGrounded && !tpc.cc.isDead && !tpc.cc.IsAnimatorTag("CustomAction") && !tpc.cc.ragdolled && canParkour)
{
if (canClimb)
{
tpc.cc.StopCharacter();
m_Target = TopHit.point;
m_Target.y = TopHit.collider.bounds.extents.y + TopHit.transform.position.y + Climboffset;
TriggerAnimation(ClimbAnim);
DisablePlayerGravityAndCollision(cdisableGravity, cdisableCollision);
AvatarTarget = ClimbAvatarTarget;
Matchpos = ClimbMatchpos;
MatchRot = ClimbMatchRot;
StartMatchTarget = ClimbStartMatchTarget;
EndMatchTarget = ClimbEndMatchTarget;
}
}
}
public virtual void TriggerAnimation(string anim)
{
tpc.cc.animator.CrossFadeInFixedTime(anim, 0.2f,0); // trigger the action animation clip
if (!string.IsNullOrEmpty(CameraState))
tpc.ChangeCameraState(CameraState, true); // change current camera state to a custom
}
void disabledelay()
{
checkupdate = true;
}
void Detection()
{
if (tpc.cc.IsAnimatorTag("CustomAction")) return;
OverTopRay = new Ray(OverTop.position, OverTop.forward);
if (Physics.Raycast(OverTopRay, out OverTopHit, OverTopDistace, ActionLayer))
{
if (debug)
{
//Debug.DrawRay(Top.position, Top.forward * TopHit.distance, Color.blue);
Debug.DrawLine(OverTopRay.origin, OverTopHit.point);
}
if (ActionTag.Contains(OverTopHit.collider.gameObject.tag))
{
OverTopValid = true;
}
else
{
OverTopValid = false;
}
}
else
{
OverTopValid = false;
}
TopRay = new Ray(Top.position, Top.forward);
if (Physics.Raycast(TopRay, out TopHit, TopDistance, ActionLayer))
{
if (debug)
{
//Debug.DrawRay(Top.position, Top.forward * TopHit.distance, Color.blue);
Debug.DrawLine(TopRay.origin, TopHit.point);
}
if (ActionTag.Contains(TopHit.collider.gameObject.tag))
{
TopValid = true;
}
else
{
TopValid = false;
}
}
else
{
TopValid = false;
}
MiddleRay = new Ray(Middle.position, Middle.forward);
if (Physics.Raycast(MiddleRay, out MiddleHit, MiddleDistance, ActionLayer))
{
if (debug)
{
//Debug.DrawRay(Top.position, Top.forward * TopHit.distance, Color.blue);
Debug.DrawLine(MiddleRay.origin, MiddleHit.point);
}
if (ActionTag.Contains(MiddleHit.collider.gameObject.tag))
{
MiddleValid = true;
}
else
{
MiddleValid = false;
}
}
else
{
MiddleValid = false;
}
FootRay = new Ray(Foot.position, Foot.forward);
if (Physics.Raycast(FootRay, out FootHit, FootDistance, ActionLayer))
{
if (debug)
{
//Debug.DrawRay(Top.position, Top.forward * TopHit.distance, Color.blue);
Debug.DrawLine(FootRay.origin, FootHit.point);
}
if (ActionTag.Contains(FootHit.collider.gameObject.tag))
{
FootValid = true;
}
else
{
FootValid = false;
}
}
else
{
FootValid = false;
}
FrontRay = new Ray(Front.position, -Front.up);
if (Physics.Raycast(FrontRay, out FrontHit, FrontDistance, ActionLayer))
{
if (debug)
{
//Debug.DrawRay(Top.position, Top.forward * TopHit.distance, Color.blue);
Debug.DrawLine(FrontRay.origin, FrontHit.point);
}
if (ActionTag.Contains(FrontHit.collider.gameObject.tag))
{
FrontValid = true;
}
else
{
FrontValid = false;
}
}
else
{
FrontValid = false;
}
}
public void CheckObject()
{
if (!OverTopValid && !TopValid && !MiddleValid && !FrontValid)
{
canClimb = false;
canVault = false;
canStepup = false;
canParkour = false;
}
if (!OverTopValid && TopValid && MiddleValid && FrontValid)
{
canClimb = true;
canVault = false;
canStepup = false;
canParkour = true;
}
if (OverTopValid && TopValid && MiddleValid && FrontValid)
{
canClimb = true;
canVault = false;
canStepup = false;
canParkour = true;
}
if (!OverTopValid && !TopValid && MiddleValid && !FrontValid && FootValid)
{
canClimb = false;
canVault = true;
canStepup = false;
canParkour = true;
}
if (!OverTopValid && !TopValid && MiddleValid && FrontValid && FootValid)
{
canClimb = false;
canVault = false;
canStepup = true;
canParkour = true;
}
}
public virtual void DisablePlayerGravityAndCollision(bool disableGravity ,bool disableCollision)
{
inParkour = true;
Invoke("disabledelay",1f);
if (disableGravity)
{
tpc.cc._rigidbody.useGravity = false;
}
if (disableCollision)
{
tpc.cc._capsuleCollider.isTrigger = true;
}
}
void EnablePlayerGravityAndCollision()
{
if (!tpc.cc.IsAnimatorTag("Parkour") && inParkour && checkupdate)
{
Debug.Log("Enable gravity");
tpc.cc._rigidbody.useGravity = true;
tpc.cc._capsuleCollider.isTrigger = false;
inParkour = false;
checkupdate = false;
}
}
}
}
|
|