- 10
- 117 886
Pogle
Australia
เข้าร่วมเมื่อ 27 ก.พ. 2022
Campfire using Pixel Art | Beginner Blender Tutorial
Use pixel art to create cool 3D models in blender! This tutorial is meant for beginners!
Project Download ► drive.google.com/drive/folders/1BUymqtqMD-XTg6kvkK5Clz_sOrI_Sakh?usp=sharing
Discord ►► discord.gg/EevPKhxs34
Twitter ►► ItsPogle
Intro: 0:00
Tutorial: 0:06
Outro: 10:01
#indiedev #unity #gamedev #indie #blender #pixelart #blender3d
Project Download ► drive.google.com/drive/folders/1BUymqtqMD-XTg6kvkK5Clz_sOrI_Sakh?usp=sharing
Discord ►► discord.gg/EevPKhxs34
Twitter ►► ItsPogle
Intro: 0:00
Tutorial: 0:06
Outro: 10:01
#indiedev #unity #gamedev #indie #blender #pixelart #blender3d
มุมมอง: 695
วีดีโอ
Inventory System | Unity Tutorial
มุมมอง 22Kปีที่แล้ว
An Inventory System that replicates Minecraft's, featuring equipment slots, switching items and basic movement. Project Download ► github.com/ItsPogle/Minecraft-Like-Inventory-System-Unity Discord ►► discord.gg/EevPKhxs34 Twitter ►► ItsPogle Inventory Equipment Placeholder Art ► game-icons.net/ Inventory Art ► www.kenney.nl/ Item Art ► cheekyinkling.itch.io/shikashis-fantasy-icons-p...
Multiplayer Text CHAT | Unity Tutorial
มุมมอง 4.9Kปีที่แล้ว
Using the new Netcode for Gameobjects can be tricky at first. I'll show how to use Server and Client RPC's to handle a simple text chat system in Unity! Project Download ► github.com/ItsPogle/Multiplayer-Chat-using-Netcode-for-Gameobjects-with-Unity Discord ►► discord.gg/EevPKhxs34 Twitter ►► ItsPogle Intro: 0:00 Setup: 0:18 Interface: 1:05 Scripting: 2:09 Outro: 5:35 #indiedev #uni...
REAL-TIME using WEB REQUESTS | Unity Tutorial
มุมมอง 1.4Kปีที่แล้ว
If your wondering how to make a save and load system that uses custom serialzied file types instead of player prefs, heres the place! Project Download ► github.com/ItsPogle/Real-World-Timing-API-in-Unity Saving and Loading Data ► th-cam.com/video/56q7N5ERT-Q/w-d-xo.html&ab_channel=Pogle 3D Models (Quaternius) ► quaternius.com/ Discord ►► discord.gg/EevPKhxs34 Twitter ►► ItsPogle Int...
Serialized SAVING and LOADING | Unity Tutorial
มุมมอง 1.7Kปีที่แล้ว
If your wondering how to make a save and load system that uses custom serialzied file types instead of player prefs, heres the place! Project Download ► github.com/ItsPogle/.Dat-Saving-and-Loading-in-Unity Discord ►► discord.gg/EevPKhxs34 Twitter ►► ItsPogle Intro: 0:00 Setup: 0:26 Saving and Loading: 0:56 Application: 3:08 Outro: 4:51 #indiedev #unity #gamedev #gamedevelopment #indie
EXPERIENCE and LEVELING System | Unity Tutorial
มุมมอง 4.8Kปีที่แล้ว
This tutorial will feature use of animaton curves to make a quick visual experience system which can be easily modified and built upon! Great Related Video (Animation Curves) ► th-cam.com/video/Nc9x0LfvJhI/w-d-xo.html&ab_channel=GameDevGuide Project Download ► github.com/ItsPogle/Leveling-and-Experience-using-Animation-Curves-in-Unity Discord ►► discord.gg/EevPKhxs34 Twitter ►► ItsP...
Click To Attack | Unity RPG Tutorial #2
มุมมอง 4.7Kปีที่แล้ว
The second part of a series where we'll be making a top down/isometric controller similiar to games like league of legends, runescape and diablo! This episode will focus on interacting with items and attacking enemies! 3D Models ► quaternius.com/ Project Download ► github.com/ItsPogle/Unity-Mouse-Click-Movement-Template Discord ►► discord.gg/EevPKhxs34 Twitter ►► ItsPogle Intro: 0:0...
Click To Move | Unity RPG Tutorial #1
มุมมอง 24Kปีที่แล้ว
The first part of a series where we'll be making a top down/isometric controller similiar to games like league of legends, runescape and diablo! 3D Models ► quaternius.com/ Project Download ► github.com/ItsPogle/Unity-Mouse-Click-Movement-Template Discord ►► discord.gg/EevPKhxs34 Twitter ►► ItsPogle Intro: 0:00 Setup: 0:21 Input Actions: 1:16 Navmesh: 1:55 Player Controller: 2:14 Ca...
First Person Shooting | Unity Tutorial
มุมมอง 3.1Kปีที่แล้ว
If your wondering how to make a first person melee shooting system that includes raycasting, singletons, scriptable objects, animations, hit detection and visual effect decal, heres the place! Project Download ► github.com/ItsPogle/Unity-First-Person-Shooter Discord ►► discord.gg/EevPKhxs34 Twitter ►► ItsPogle Intro: 0:00 Setup: 0:25 Weapon Scriptable Object: 0:53 Weapon Controller:...
First Person Melee Combat | Unity Tutorial
มุมมอง 51Kปีที่แล้ว
If your wondering how to make a first person melee combat system that includes a visual effect decal, character controller, simple raycasting, animations and hit detection, heres the place! Project Download ► github.com/ItsPogle/Unity-First-Person-Melee Mentioned Creators: Taro Dev ► th-cam.com/video/ZwLekxsSY3Y/w-d-xo.html&ab_channel=Tarodev Natty Creations ► th-cam.com/video/rJqP5EesxLk/w-d-x...
How did you create the cuts?
If anyone is having problems with Orthographic Camera, e.g. character is not moving on clicked, check out your values for Camera Clipping Planes. I've managed to solve by setting Near to 0.01 and Far to 1000. In my case, negative values for Near Clipping Plane caused the issue. Orthographic Size has been set to 15, btw.
Thank you good sir, plenty of excellent information.
Im using the newest version of unity and I was not able to open downloaded project. I tried to create new project and copy files here. It did open, but there was nothing of it. The scene was empty. Does anyone know how to make it work please?
how to add new weapons to game without doing all of the code again?
Great video! I like how you made so much possible with so little code! I may be a bit late to this but there is a issue in the code, if you drag and swap an item with another and then add a random item, the new item gets placed in the same place of the swapped item. Basically 2 items in the same slot. I have made a fix for this, you can change the following code: // InventorySlot.cs: public void SetItem(InventoryItem item, bool resetOldItem = false) { Inventory.carriedItem = null; if (resetOldItem) ResetOldItem(item); myItem = item; myItem.activeSlot = this; myItem.transform.SetParent(transform); myItem.canvasGroup.blocksRaycasts = true; if(myTag != SlotTag.None) { Inventory.Singleton.EquipEquipment(myTag, myItem); } } public void ResetOldItem(InventoryItem item) { item.activeSlot.myItem = null; } // Inventory.cs: public void SetCarriedItem(InventoryItem item) { bool isSwapping = false; if (carriedItem != null) { if (item.activeSlot.myTag != SlotTag.None && item.activeSlot.myTag != carriedItem.myItem.itemTag) return; item.activeSlot.SetItem(carriedItem, false); isSwapping = true; } if (item.activeSlot.myTag != SlotTag.None) { EquipEquipment(item.activeSlot.myTag, null); } carriedItem = item; carriedItem.canvasGroup.blocksRaycasts = false; item.transform.SetParent(draggablesTransform); if (!isSwapping) item.activeSlot.ResetOldItem(carriedItem); }
How i can add save to the inventory plz
Thank you. I thought creating a string builder and adding the text to that would be more performant etc. Is there any spesific reason why you didnt prefer that way? BTW, for testing, I send playerName as "OwnerClientID" but they both seemed zero.
When enter is pressed: If chat is already open -> send message else if chat is closed -> only open chat Sadly this is what I wanted to do but it doesn't work, because "inputField.isFocused" isn't working properly I guess :(((( This is my whole script btw: using TMPro; using UnityEngine; using System.Collections.Generic; using UnityEngine.EventSystems; public class ChatManager : MonoBehaviour { [SerializeField] TMP_InputField inputField; [SerializeField] TextMeshProUGUI placeholder; [SerializeField] Transform chatContent; // Parent of all texts (where texts should be instantiated) [SerializeField] Message chatTextPrefab; // Prefab that we will instantiate [SerializeField] int maxMessages = 50, characterLimit = 100; [SerializeField] List<Message> listOfMessages = new List<Message>(); [field: SerializeField] public bool isChatOpen { get; private set; } string playerName; void Start() { inputField.characterLimit = characterLimit; // Maximum character input placeholder.text = $"Enter text... (Max: {characterLimit})"; } public void SetPlayerName(string txt) { playerName = txt; } // Player object calls this method to set its name in the ChatManager void OnEnable() { EventManager.OnEveryFrame += PressingEnter; } void OnDisable() { EventManager.OnEveryFrame -= PressingEnter; } void PressingEnter() { isChatOpen = inputField.isFocused; if (Input.GetKeyDown(KeyCode.Return)) { if (!isChatOpen) { inputField.Select(); return; } // Opens the chat box if it's not open; Restricts sending chat when the chat box is closed if (string.IsNullOrWhiteSpace(inputField.text)) return; // Restricts sending chat when input field is empty or whitespace (space, tab) if (listOfMessages.Count >= maxMessages) // If we've reached the max number of messages, destroy the oldest message from the content and list { Destroy(listOfMessages[0].gameObject); listOfMessages.RemoveAt(0); } Message newMessage = Instantiate(chatTextPrefab, chatContent); // Create a new message and make it a child of chatContent newMessage.textMeshPro.text = $"<color=#64FF00>{playerName}</color>: {inputField.text}"; // Assign the input text to the new message listOfMessages.Add(newMessage); // Add that message to the list as well (to be able to delete or hide it in the future) inputField.text = string.Empty; // Clear the input field to start fresh again } } }
i got stuck with the circle mat render
This "RPG" series is so underrated. I think it's an excellent, simple, and pretty recent tutorial. Others are like 5+ years ago and are not reliable anymore...
hey i re write your code so that its saveable :P
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro; public class ExperienceManager : MonoBehaviour { [Header("Experience")] [SerializeField] AnimationCurve experienceCurve; int currentLevel, totalExperience; int previousLevelsExperience, nextLevelsExperience; [Header("Interface")] [SerializeField] TextMeshProUGUI levelText; [SerializeField] TextMeshProUGUI experienceText; [SerializeField] Image experienceFill; void Start() { UpdateLevel(); totalExperience = PlayerPrefs.GetInt("totalExperience"); currentLevel = PlayerPrefs.GetInt("currentLevel"); previousLevelsExperience = PlayerPrefs.GetInt("previousLevelsExperience"); nextLevelsExperience = PlayerPrefs.GetInt("nextLevelsExperience"); } void Update() { experienceText.text = " " + totalExperience.ToString(); PlayerPrefs.SetInt("totalExperience", totalExperience); levelText.text = " " + currentLevel.ToString(); PlayerPrefs.SetInt("currentLevel", currentLevel); previousLevelsExperience.ToString(); PlayerPrefs.SetInt("previousLevelsExperience", previousLevelsExperience); nextLevelsExperience.ToString(); PlayerPrefs.SetInt("nextLevelsExperience", nextLevelsExperience); CheckForLevelUp(); UpdateInterface(); if (Input.GetMouseButtonDown(0)) { AddExperience(5); } } public void AddExperience(int amount) { totalExperience += amount; CheckForLevelUp(); UpdateInterface(); } void CheckForLevelUp() { if(totalExperience >= nextLevelsExperience) { currentLevel++; UpdateLevel(); // Start level up sequence... Possibly vfx? } } void UpdateLevel() { previousLevelsExperience = (int)experienceCurve.Evaluate(currentLevel); nextLevelsExperience = (int)experienceCurve.Evaluate(currentLevel + 1); UpdateInterface(); } void UpdateInterface() { int start = totalExperience - previousLevelsExperience; int end = nextLevelsExperience - previousLevelsExperience; levelText.text = currentLevel.ToString(); experienceText.text = start + " exp / " + end + " exp"; experienceFill.fillAmount = (float)start / (float)end; } }
Blockman go aaah inventory
hi, i am trying to replicate this in my game, but it gives me an error, does any one know how to fix this? "the name 'cam' does not exist in current context.
Hi, this error can be fixed by making a “public transform” named cam, and assigning your main camera to it in the hierarchy. You can simply add, at the top of your script, with your other variables: public Transform cam; Save this and go into the hierarchy. Click on the object with the script on, then you add the main camera to the transform slot and it should work. Hope this helps.
@@ManxCatOfficial thank you so much
I keep getting this Error: NullReferenceException: Object reference not set to an instance of an object MeleeScript.ChangeAnimationState (System.String newState) Any helpers?
Bro, thank you so much this was so helpful! i couldn't find any fast tutorial on how to serialize data in unity (other than playerPrefs obviously )
Y-Y is there a script that can script scripts for me
Lmao, copilot
whats the strategy to add amount on the individual items?
Error with your Circle material, seems to be a particle shader error. Cant find the shader you are using.
This is what we need about a tutorial about leveling system, Simple and very effective. Great video.
Hello, In this code, I've made adjustments to ensure the character looks in the direction of movement rather than always facing the target destination. This change helps avoid unnatural movement when the character is navigating around obstacles. Here's the updated code : void FaceTarget() { // Get the agent's current velocity Vector3 velocity = agent.velocity; // If the agent is moving if (velocity.magnitude > 0.1f) { // Normalize the movement direction and create a look rotation Vector3 direction = velocity.normalized; Quaternion lookRotation = Quaternion.LookRotation(new Vector3(direction.x, 0, direction.z)); // Apply a smooth rotation to face the movement direction transform.rotation = Quaternion.Slerp(transform.rotation, lookRotation, Time.deltaTime * lookRotationSpeed); } }
this guy is goated. - not asking for credits - free to use and well-prepared assets i will make sure to mention Pogle each time someone talks to me about my melee stuff!
if anyone is having an issue with the character's FaceTarget snapping after they stop moving. simply check to see if the velocity is zero. and if it is just return. void FaceTarget() { if (agent.velocity == Vector3.zero) return; Vector3 direction = (agent.destination - transform.position).normalized; Quaternion lookRotation = Quaternion.LookRotation(new Vector3(direction.x, 0, direction.z)); transform.rotation = Quaternion.Slerp(transform.rotation, lookRotation, Time.deltaTime * lookRotationSpeed); }
I have a simple problem, when I click the item to hold it, the image of the item dissapears but when I click on other / same inventory field, it recover its image Edit: I finally changed the entire inventory system to another tutorial that was kinda better
If Input Actions does not appear on your create list, return to package manager and download Input System from Unity Registry.
i cant open the project, it says This project is not valid
Make sure you have selected the correct folder, there should be an asset folder under the folder you selected.
writes an error. I can’t insert your project from Github into Unity
ive used a character from the pack that you used but i cant find the avarat for it for the animation controller @PogleDev
video tao bom que começa ja com o cara abrindo projeto ja pornto com o dowload nao abrindo como projeto na uinty
This was a fantastic tutorial on how to accomplish the pixel look. Exactly what I needed to find. Thank you!
i cant figure any thing out would u help me pog?
❤❤❤❤❤❤❤❤❤❤ tnx for the idea
Worked, but for some reason, now I keep getting this bug(s): Error 1: NullReferenceException: Object reference not set to an instance of an object PlayerController.ClickToMove () (at Assets/Scripts/PlayerController.cs:40) PlayerController.<AssignInputs>b__9_0 (UnityEngine.InputSystem.InputAction+CallbackContext ctx) (at Assets/Scripts/PlayerController.cs:34) UnityEngine.InputSystem.Utilities.DelegateHelpers.InvokeCallbacksSafe[TValue] (UnityEngine.InputSystem.Utilities.CallbackArray`1[System.Action`1[TValue]]& callbacks, TValue argument, System.String callbackName, System.Object context) (at ./Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/Utilities/DelegateHelpers.cs:46) UnityEngine.InputSystem.LowLevel.<>c__DisplayClass7_0:<set_onUpdate>b__0(NativeInputUpdateType, NativeInputEventBuffer*) UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate(NativeInputUpdateType, IntPtr) Error 2: NullReferenceException while executing 'performed' callbacks of 'Main/Move[/Mouse/leftButton]' UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*) UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)
That was just what I was looking for, thanks! I find blender a little difficult and most tutorials are skipping steps so the viewers get lost at times, me included. If possible, add a key-press view to blender. Keep up the good work! 😄
Can I use avatar mask here to make sure that walk animation works while attacking?
no matter what I click or do ClickToMove(); never gets called??
Great vid! Note: You can replace the if-statement (02:00) by a while loop to handle multiple level ups at once.
What I needed. Keep up the good work!
Thank you for this , can you do a follow up video to save and recall conversations?
Please, master! More lessons in this serial
It's probably too late to give advice, but for those who stumble upon this video, I recommend turning on DESTROY in the effect tab in "Stop actions" so that the effects are removed
Legend
Hi I have a problem where the character does reach the destination, but lags behind and teleports as the animation happens. It does arrive yes but it does that where it is buggy and laggy. It does work perfectly though when clicking the area and it arriving there.
Please next part 👏
at first it wasn't working but then i realized that i had to select the default layer for the player controller script, Thanks !
if i have a project that your camera is stuck with your cursor then how do i make it unstuck so i can access the inventory? (great tutorial btw)
simply add a code line that when you press the inventory button the camera movement is disabled and when someone exits the inventory it reopens also you'd have to mabey add a boolean like the true false and an if statement like if bolean false then dont move or any way it fits into your code
@@M.DaniyalAnsari thanks for your suggestion but i found a solutions wich was CursorLockMode.None
Really nice tutorial. I am adapting what i already had to your tutorial and its working good!
Add remaining distance checking in FaceTarget so it does not rotate like an idiot in the end :P
lifting objects from the ground would go a long way in this tutorial :) using this inventory
Doing this on raycast is a terrible approach, BoxCast is much better following the weapon in the animation, now you do "empty" swings and they doesn't matter
Any suggestions on using BoxCast? I'm working on doing a melee combat system and can't seem to find a good tutorial/tips to follow
I'm getting error on input.Main.Move.performed += ctx => ClickToMove(); "Severity Code Description Project File Line Suppression State Error CS1061 'CustomActions.MainActions' does not contain a definition for 'Move' and no accessible extension method 'Move' accepting a first argument of type 'CustomActions.MainActions' could be found (are you missing a using directive or an assembly reference?) Assembly-CSharp
make sure you save the changes made to the CustomActions file (in the Input Actions editor window). you can either just click the Save Asset button, or check the Auto Save box.