Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

[Released] NeoFPS - A first person shooter toolkit and template

Discussion in 'Assets and Asset Store' started by YondernautsGames, Jul 31, 2019.

  1. grionseengel

    grionseengel

    Joined:
    Sep 2, 2017
    Posts:
    32
    Thanks for the info. However, I have taken all the settings from the NeoFpsEmeraldAI_ChomperMelee. Can it possibly be because my model is generic and not humanoid. Does this only work with humanoid models, or also with another format?
     
  2. YondernautsGames

    YondernautsGames

    Joined:
    Nov 24, 2014
    Posts:
    328
    I can't immediately see why that would make a difference tbh. The integration is fairly simple from my point of view - it just translates the damage values between the 2 systems, but it doesn't impose any restrictrions on rig or collider placement itself.

    The way the integration's
    EmeraldAIPlayerDamage
    script works is by getting the NeoFPS damage handler on the object it's added to and applying damage to that. If it fails to find a damage handler on its object then it falls back on the health manager on any of its parent objects. That means that as long as Emerald is adding the script to any object in the hierarchy of the NeoFPS character (or grabbing it if you've added it manually) that it's attacking, then you should be taking damage. However it adding that script is entirely controlled by Emerald AI. The integration or NeoFPS don't influence that in any way besides standard unity stuff in their setup like layers, tags and collider trigger vs non-trigger.

    In your situation I would probably try and find the difference between the setups by adding something like the following to the
    Awake()
    in EmeraldAIPlayerDamage.cs:
    Code (CSharp):
    1. Debug.Log("EmeraldAIPlayerDamage added to object: " + name, gameObject);
    Then try out both your character and the chomper from the demo to see if they add it to the same object on the NeoFPS character. If your AI doesn't add it at all then I think that means Emerald is failing to properly detect the NeoFPS character, which could be a tags issue.
     
  3. YondernautsGames

    YondernautsGames

    Joined:
    Nov 24, 2014
    Posts:
    328
    * Updated thread with new trailer and screenshots
     
    ledshok likes this.
  4. EvilGremlin

    EvilGremlin

    Joined:
    Aug 12, 2016
    Posts:
    231
    I'm getting this on FeatureDemo_FirstPersonBody demo. Unity 2020.3.34f1

    No valid spawn points found
    0x00007ff7ad34095c (Unity) StackWalker::GetCurrentCallstack
    0x00007ff7ad347e49 (Unity) StackWalker::ShowCallstack
    0x00007ff7ae0dffdc (Unity) GetStacktrace
    0x00007ff7aeb4ea17 (Unity) DebugStringToFile
    0x00007ff7ad39d37a (Unity) DebugLogHandler_CUSTOM_Internal_Log
    0x00000258b05e212b (Mono JIT Code) (wrapper managed-to-native) UnityEngine.DebugLogHandler:Internal_Log (UnityEngine.LogType,UnityEngine.LogOption,string,UnityEngine.Object)
    0x00000258b05e207b (Mono JIT Code) UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
    0x00000258b05e61c0 (Mono JIT Code) UnityEngine.Logger:Log (UnityEngine.LogType,object)
    0x00000258b05e6085 (Mono JIT Code) UnityEngine.Debug:LogError (object)
    0x00000258b05e2ec3 (Mono JIT Code) [FpsGameMode.cs:125] NeoFPS.FpsGameMode:Respawn (NeoFPS.IController)
    0x00000258b05e0dbb (Mono JIT Code) [FpsSoloGameBase.cs:98] NeoFPS.SinglePlayer.FpsSoloGameBase:OnStart ()
    0x00000258b05a902e (Mono JIT Code) [FpsGameMode.cs:85] NeoFPS.FpsGameMode/<Start>d__14:MoveNext ()
    0x00000258af343c2c (Mono JIT Code) UnityEngine.SetupCoroutine:InvokeMoveNext (System.Collections.IEnumerator,intptr)
    0x00000258af343d57 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void_object_intptr (object,intptr,intptr,intptr)
    0x00007fff228100e0 (mono-2.0-bdwgc) [mini-runtime.c:2849] mono_jit_runtime_invoke
    0x00007fff22792ac2 (mono-2.0-bdwgc) [object.c:2921] do_runtime_invoke
    0x00007fff2279bb1f (mono-2.0-bdwgc) [object.c:2968] mono_runtime_invoke
    0x00007ff7ad284a94 (Unity) scripting_method_invoke
    0x00007ff7ad27fb91 (Unity) ScriptingInvocation::Invoke
    0x00007ff7ad2377bc (Unity) Coroutine::Run
    0x00007ff7ad234a0c (Unity) Coroutine::ContinueCoroutine

    0x00007ff7acdb0894 (Unity) DelayedCallManager::Update
    0x00007
     
  5. YondernautsGames

    YondernautsGames

    Joined:
    Nov 24, 2014
    Posts:
    328
    Hi there. That generally means that either there is no spawn point component in the scene, or any spawn points that do exists are intersecting a physics object that would block you from spawning.

    Since you are using one of the demo scenes, I assume that means it's set up with the SimpleSpawnerAndGameMode, and so it does have a spawn point in the scene.

    To fix overlapping physics, you can view the spawn point in the scene view. It will be red if it's overlapping a physics object, or blue if it's clear. You can also set its Overlap Test property to None in the inspector to force it to spawn when blocked: https://docs.neofps.com/manual/fpcharactersref-mb-spawnpoint.html

    I hope that helps :)
     
  6. Notso

    Notso

    Joined:
    Oct 25, 2015
    Posts:
    42
    I know FPS is mainly SHOOTER however I have a project that was coded, but I liked the player and UI in Survival STP so moved to that but having issues getting what I want to work.(and a serious lack of support, not 1 answer on discord to anyone asking for help) Saying that, other than the demo having a baton animation, are there any others for using a baseball bat or crowbar? Simple melee weapon use. A zombie game is not complete without low ammo and needing to hit something!
    Also are the inventory and health modular or public? so I can make a crafting bench and easy inventory code method to add it?
     
  7. YondernautsGames

    YondernautsGames

    Joined:
    Nov 24, 2014
    Posts:
    328
    The melee system is fairly simple at the moment, with a single attack (raycast) and block move. However it can be extended via code. There aren’t other animations provided though. You would have to add your own, and then you can turn your view model and animations into a melee weapon via the wizard.

    I’m not sure what you mean by modular health. The character has a central health manager. You can change the max health at runtime, and there are events (inspector and C#). They then have a number of damage handlers attached that can apply different multipliers based on limb. They can also modify damage by armour (stored in your inventory) and shields (recharging).

    Inventory wise, there should be a way to add the crafting bench that you can place. However it doesn’t currently have a grid based inventory. The inventory is modelled more off classic and streamlined FPS like doom, halo and CoD. I’m working on a grid / container based option for an upcoming upgrade.

    I hope that helps
     
  8. Notso

    Notso

    Joined:
    Oct 25, 2015
    Posts:
    42

    Sure does. I just played with your demo and it says "I" for inventory in the bindings but it never opens anything to even see what is in there. Yeah, for melee I just need a swing animation, prefer to keep it in first person, no view change. I meant public method for health, not really modular, just accessible which is good you made to allow for different modifiers as well.
    How difficult is it to replace the arms with something a little more non-cartoony?
    Also I think you said it has emeraldAI integration? Does it save them as well or just integrated for damage?
    Thanks for the quick reply. I think if I buy this it might work out. I decoupled my custom mission system from the main project to work in the new one and it just fires a bool to trigger whether you picked up an item to satisfy a mission or entered a trigger zone for discovery.
    (too many edits! : Also the weapon system, if you run over or pick up the same weapon you already have will it add to your ammo count and just destroy the duplicate? or give you 2 of the same?)
     
    Last edited: Feb 3, 2023
  9. YondernautsGames

    YondernautsGames

    Joined:
    Nov 24, 2014
    Posts:
    328
    Ah yeah, The inventory, journal and character inputs are placeholder for a planned future extension.

    For your other points:
    • Yes, the health properties and methods are accessible, and the events let you react to health changes.
    • It’s currently tricky to replace just the arms, but not the weapons. I don’t provide a split rig version where the weapon and arms use separate rigs and animators, though the systems do support that. If you want to replace the arms and weapons together then that’s much easier. The big one that throws some people is that this isn’t a third person controller with the camera attached to the head. It doesn’t use full body animations like that - it assumes the weapons and animations are built around first person. The full body system then uses IK to adapt to that. I’m working on ways to make this more flexible
    • For Emerald AI I wasn’t able to get the save system working. It would have required modifying their code, and I didn’t want to do that. However there is an upgrade planned for NeoFPS later this year that adds my own AI solution with full save game support. It will be a paid upgrade, but not expensive and adds a lot, and there will also be a free upgrade path to a new version of the asset with a similar feature set to the existing one.
    • For tying inventory to quests, etc there are events on the inventory components that you can tie into for detecting added/removed components. There are also methods to check whether the inventory contains an item by ID. As an example, there’s a keychain item for storing keys and codes, and there are locked trigger zones and interactive objects that require a key to use. The trigger zones and interaction components are also very flexible for extending.
    • For picking up weapons there are options for that. Currently the demos use a contact pickup for the ammo in the weapon you drop (they will drop with the amount in your magazine), and an interactive (E to use) pickup for the weapon itself. I’ll be making that a bit more flexible soon. There’s also a setting on the swappable inventory to allow you to hold multiple weapons of the same type. Default is off
     
  10. Notso

    Notso

    Joined:
    Oct 25, 2015
    Posts:
    42
    Sounds good. The only thing holding me up is the inventory, once you get that I will buy if I haven't released by then haha. I don't need an extensive drag and drop(to organize) style but being able to view and drop or swap weapons is needed. Would like to make it so they can only have 1- 2 handed weapon and 1- 1 handed weapon at any given time. After all, how much stuff can you really carry and still run around a city?
    As for the arms, I didn't even realize it but I own the burgamov (spelling) arms already so they have weapons attached which is fine. I currently have my own set of arms but I am afraid it would take too much time to get them to work. Lots of custom code there.
     
    YondernautsGames likes this.
  11. tecnologiesaksums646

    tecnologiesaksums646

    Joined:
    Feb 14, 2023
    Posts:
    1
    hello sir my question is how to integrate mobile touches in neofps
     
  12. YondernautsGames

    YondernautsGames

    Joined:
    Nov 24, 2014
    Posts:
    328
    Hi there. I replied to your support email with a response, but essentially the simplest way is to swap the "HudAndMenuCanvas" object in the scenes with the "HudAndMenuCanvas_Touch" prefab. You can find more information here: https://docs.neofps.com/manual/input-touchscreen.html.

    I hope that helps
     
  13. mroshaw

    mroshaw

    Joined:
    Oct 11, 2020
    Posts:
    34
    Hello! Neo FPS looks great - I was wondering if it has any support or integration whatsoever for VR type shooter games? I'm looking at creating a wave shooter for Quest 2. Thanks!
     
  14. YondernautsGames

    YondernautsGames

    Joined:
    Nov 24, 2014
    Posts:
    328
    Hi, thanks for the interest :)

    There's no official VR integration or support atm, and I'm not sure what work would be required for that. The motion graph would be quite flexible for character motion, and I'm sure various systems like the firearms, inventory and so on could be used, but the system as a whole assumes a traditional FPS setup. It would require some coding to achieve.

    I'd love to grab a VR headset and create an add-on at some point but have too much going on for a while.
     
    mroshaw likes this.
  15. xenoblackinc

    xenoblackinc

    Joined:
    Apr 29, 2009
    Posts:
    34
    Hi I would like to use my character creator 4 meshes with your system. I Dont want to break them apart is it possible to use my full body character with your system? Also will you have tutorial videos on how to add your own models and weapons to your system? Im looking to purchase this asset and was wondering.
     
  16. OZAV

    OZAV

    Joined:
    Aug 9, 2013
    Posts:
    293
    ... with our log for today - our congrats, to the dev team, for the coming Combat AI, that includes ranged enemies and zombies.
    As we can see around the trello's: it's about 30% done already, an important milestone. (Would that be an integrated AI enemies system, or an add-on ?) Why not the both options, so the community is backed up better ...
    Also, great to hear that full player body can have the included animations from now on (a long awaited feature). Congrats again, on all that good work, guys.
    When about exactly we can hope for the new asset version, than, with some of that included, like, in general: this year, or the next year, for the new asset update, 1.2 ?
    Anyways - just imagine what would the NEO FPS have, at a version 6, one day. We can't wait to see what next, from the team, at the: NEO FPS factory :).
     
    Last edited: Sep 4, 2023