{"id":22697830,"url":"https://github.com/gsinghjay/third_person_bear_rpg","last_synced_at":"2026-05-19T02:02:54.713Z","repository":{"id":266581252,"uuid":"898754051","full_name":"gsinghjay/Third_Person_Bear_RPG","owner":"gsinghjay","description":"Help NPCs hunt different types of bears to complete quests and unlock the tower. ","archived":false,"fork":false,"pushed_at":"2024-12-17T02:25:27.000Z","size":69788,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"Enemy_Pickups","last_synced_at":"2025-03-29T18:34:48.776Z","etag":null,"topics":["animancer","third-pers","unity"],"latest_commit_sha":null,"homepage":"https://singhjay.itch.io/third-person-bear-rpg","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gsinghjay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-05T01:05:27.000Z","updated_at":"2024-12-13T00:13:17.000Z","dependencies_parsed_at":"2024-12-05T02:26:28.427Z","dependency_job_id":"7dc032a1-9616-44d3-a790-ebe7894acd36","html_url":"https://github.com/gsinghjay/Third_Person_Bear_RPG","commit_stats":null,"previous_names":["gsinghjay/third_person_bear_rpg"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gsinghjay/Third_Person_Bear_RPG","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsinghjay%2FThird_Person_Bear_RPG","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsinghjay%2FThird_Person_Bear_RPG/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsinghjay%2FThird_Person_Bear_RPG/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsinghjay%2FThird_Person_Bear_RPG/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gsinghjay","download_url":"https://codeload.github.com/gsinghjay/Third_Person_Bear_RPG/tar.gz/refs/heads/Enemy_Pickups","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsinghjay%2FThird_Person_Bear_RPG/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266241330,"owners_count":23898066,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["animancer","third-pers","unity"],"created_at":"2024-12-10T05:15:51.746Z","updated_at":"2026-05-19T02:02:54.648Z","avatar_url":"https://github.com/gsinghjay.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bear Hunter RPG - Character \u0026 Terrain\r\n\r\n## Project Overview\r\nThis is a Third Person RPG where players hunt different types of bears across various forest regions. The game features a central village hub with paths leading to three distinct combat arenas and a victory tower.\r\n\r\n## Current Implementation\r\n\r\n## Camera System\r\n\r\n### Virtual Camera Setup\r\n- **Normal Camera (Default View)**\r\n  - FOV: 60°\r\n  - Follow Distance: 5 units\r\n  - Follow Height: 1.5 units\r\n  - Damping: 0 for WebGL optimization\r\n  - Priority: 10 (default)\r\n\r\n- **Combat Camera**\r\n  - FOV: 55°\r\n  - Follow Distance: 4 units\r\n  - Follow Height: 2 units\r\n  - Damping: 0 for WebGL optimization\r\n  - Priority: 20 (when active)\r\n\r\n- **Sprint Camera**\r\n  - FOV: 70°\r\n  - Follow Distance: 6 units\r\n  - Follow Height: 1.7 units\r\n  - Damping: 0 for WebGL optimization\r\n  - Priority: 30 (when active)\r\n\r\n### Camera Controller Settings\r\n```json\r\n{\r\n    \"normalFOV\": 60,\r\n    \"sprintFOV\": 70,\r\n    \"combatFOV\": 55,\r\n    \"followDistance\": 5,\r\n    \"followHeight\": 1.5,\r\n    \"mouseSensitivity\": {\r\n    \"horizontal\": 175,\r\n    \"vertical\": 1.5\r\n    }\r\n}\r\n```\r\n\r\n### WebGL Optimizations\r\n- Zero acceleration/deceleration times for responsive control\r\n- Direct input axis mapping through Cinemachine\r\n- Optimized axis speeds (X: 175, Y: 1.5)\r\n- Simplified camera state transitions\r\n- Efficient priority-based camera switching\r\n\r\n### Input System Updates\r\n- Mouse X/Y axis directly mapped to Cinemachine\r\n- Removed manual delta calculations\r\n- Optimized for WebGL performance\r\n- Maintained Y-axis inversion option\r\n- Smooth camera transitions between states\r\n\r\n### Required Components\r\n- Main Camera with CameraController script\r\n- Three Cinemachine Virtual Cameras\r\n- Cinemachine Brain on Main Camera\r\n\r\n### Player Character System\r\n- Using MaleCharacterPBR from RPG Tiny Hero Duo asset\r\n- Character Controller with terrain-aware positioning\r\n- Input system using interface segregation (IPlayerInput)\r\n- Animation states for movement and combat\r\n- WebGL-optimized character materials and shaders\r\n\r\n### Required Packages\r\n```json\r\n{\r\n    \"com.unity.cinemachine\": \"2.10.3\",\r\n    \"com.unity.render-pipelines.universal\": \"14.0.11\",\r\n    \"com.unity.terrain-tools\": \"5.0.5\"\r\n}\r\n```\r\n\r\n### Layer Setup\r\n```\r\nLayer 6: Ground\r\nLayer 7: Terrain\r\nLayer 8: Environment\r\nLayer 9: Player\r\nLayer 10: Enemy\r\nLayer 11: Interactable\r\n```\r\n\r\n## Character Settings Guide\r\n\r\n### Player Controller Settings\r\n```\r\nMove Speed: 5\r\nRotation Speed: 10\r\nCharacter Controller:\r\n- Height: 1.5\r\n- Radius: 0.4\r\n- Slope Limit: 45\r\n- Step Offset: 0.3\r\n```\r\n\r\n### Animation States\r\n- Idle_Battle_SwordAndShield\r\n- MoveFWD_Battle_InPlace_SwordAndShield\r\n- Attack01_SwordAndShield\r\n- Victory_Battle_SwordAndShield\r\n\r\n## Terrain Generation System\r\nWe've implemented a custom terrain generator that creates:\r\n- Central village hub (flat area)\r\n- Three combat arenas for bear encounters\r\n- Elevated victory tower area\r\n- Interconnecting paths between all locations\r\n\r\n### Required Packages\r\n```json\r\n{\r\n    \"com.unity.cinemachine\": \"2.10.3\",\r\n    \"com.unity.render-pipelines.universal\": \"14.0.11\",\r\n    \"com.unity.terrain-tools\": \"5.0.5\"\r\n}\r\n```\r\n## Scene Hierarchy Guide\r\n\r\n### Main Camera Components\r\n- **Main Camera**\r\n  - Primary camera with Cinemachine Brain component\r\n  - Handles camera blending and transitions\r\n  - Update Method: FixedUpdate for consistent frame timing\r\n\r\n### Virtual Cameras\r\n- **CM vcam Normal** (Priority: 10)\r\n  - Default third-person camera view\r\n  - Used for general exploration and movement\r\n  - FOV: 60°, Follow Distance: 5 units\r\n  - Optimized damping for smooth movement\r\n\r\n- **CM vcam Combat** (Priority: 20)\r\n  - Activated during combat encounters\r\n  - Closer follow distance for better action visibility\r\n  - FOV: 55°, Follow Distance: 4 units\r\n  - Increased damping for stable combat view\r\n\r\n- **CM vcam Sprint** (Priority: 30)\r\n  - Activates during player sprinting\r\n  - Wider FOV and increased follow distance\r\n  - FOV: 70°, Follow Distance: 6 units\r\n  - Optimized for fast movement\r\n\r\n### Player Setup\r\n- **Player**\r\n  - Root object with CharacterController component\r\n  - Contains PlayerInput and PlayerController scripts\r\n  - **MaleCharacterPBR**\r\n    - Character model and animations\r\n  - **CameraTarget**\r\n    - Empty transform for camera follow/look target\r\n    - Offset slightly above player model\r\n    - Used by all virtual cameras\r\n\r\n### Required Components\r\n- Each virtual camera requires:\r\n  - CinemachineFreeLook component\r\n  - Properly configured Input settings\r\n  - Assigned Follow/Look target\r\n  - WebGL-optimized damping values\r\n\r\n### Camera Priority System\r\n- Higher priority cameras override lower ones\r\n- Normal Camera: 10 (default)\r\n- Combat Camera: 20 (when in combat)\r\n- Sprint Camera: 30 (when sprinting)\r\n- Smooth blending between states\r\n\r\n## Inspector Settings Guide\r\n\r\n### Terrain Object Settings\r\n```\r\nTerrain Width: 1000\r\nTerrain Length: 1000\r\nTerrain Height: 200\r\nHeightmap Resolution: 513\r\nDetail Resolution: 1024\r\nControl Texture Resolution: 1024\r\nBase Texture Resolution: 1024\r\n```\r\n\r\n### Terrain Generator Window (Tools \u003e Terrain Generator)\r\n#### General Settings\r\n- **Base Height**: 20 (Base terrain elevation)\r\n- **Mountain Height**: 100 (Maximum mountain peaks)\r\n- **Noise Scale**: 50 (Controls terrain roughness)\r\n\r\n#### Village Settings\r\n- **Village Radius**: 100 (Size of central flat area)\r\n- **Transition Zone**: 50 (Smooth blend to mountains)\r\n- **Village Height**: 30 (Elevation of village area)\r\n\r\n#### Path Settings\r\n- **Path Width**: 15 (Width of connecting paths)\r\n- **Path Smoothness**: 20 (Blend between path and terrain)\r\n\r\n#### Victory Tower Settings\r\n- **Include Tower Path**: Toggle for testing\r\n- **Tower Position**: (0.5, 0.1) Vector2 field\r\n- **Tower Area Radius**: 50\r\n- **Tower Height**: 80\r\n- **Tower Path Width**: 20\r\n\r\n## Combat Areas\r\n### Northwest Arena - Fire Bears\r\n- Radius: 35 units\r\n- Population: 2 normal bears, 2 fire bears\r\n- Flatness: 0.85 (slight terrain variation)\r\n- Position: (0.25, 0.25)\r\n\r\n### Northeast Arena - Ice Bears\r\n- Radius: 40 units\r\n- Population: 1 normal bear, 3 ice bears\r\n- Flatness: 0.9 (more even terrain)\r\n- Position: (0.75, 0.25)\r\n\r\n### South Arena - Boss Area\r\n- Radius: 50 units (largest arena)\r\n- Population: 2 normal bears, 2 fire bears, 2 ice bears\r\n- Flatness: 0.95 (very flat for boss fights)\r\n- Position: (0.5, 0.75)\r\n\r\n## Bear Types\r\n- **Normal Bears**: Standard enemy type\r\n- **Fire Bears**: Special enemy with fire-based attacks\r\n- **Ice Bears**: Special enemy with ice-based attacks\r\n\r\n## Spawn System\r\n- Each arena has predetermined spawn points\r\n- Spawn points are generated in a circular pattern\r\n- Points are placed at 60% of arena radius\r\n- Equal spacing between spawn points\r\n\r\n### Important Notes\r\n- All positions are normalized (0-1 range)\r\n- Heights are in world units\r\n- Radius values are in terrain units\r\n- Changes take effect upon clicking \"Generate Terrain\"\r\n- Settings can be adjusted in real-time\r\n- Generator preserves terrain data resolution\r\n- Character position starts at terrain center\r\n- Animation controllers are WebGL-optimized\r\n- PBR materials used for best visual quality\r\n- Input system is abstracted for future platform support\r\n\r\n## Usage Instructions\r\n1. Create a new terrain in Unity (3D Object \u003e Terrain)\r\n2. Open the Terrain Generator (Tools \u003e Terrain Generator)\r\n3. Assign your terrain to the generator\r\n4. Configure settings in each section:\r\n   - Adjust general terrain parameters\r\n   - Set village area size and height\r\n   - Position forest areas\r\n   - Configure victory tower location\r\n5. Click \"Generate Terrain\" to create the landscape\r\n6. Fine-tune settings as needed\r\n7. Save terrain changes in Unity\r\n\r\n## Next Steps\r\n1. Implement combat system\r\n2. Add bear AI and behaviors\r\n3. Set up quest/mission system\r\n4. Add inventory management\r\n5. Implement save/load system\r\n\r\n## Troubleshooting\r\n- If character movement feels sluggish: Adjust moveSpeed in PlayerController\r\n- If rotations are too fast/slow: Modify rotationSpeed\r\n- If character clips through terrain: Check CharacterController settings\r\n- If animations are choppy: Verify WebGL optimization settings\r\n- If terrain appears too steep: Reduce mountain height or increase noise scale\r\n- If paths are too narrow: Increase path width values\r\n- If transitions are harsh: Increase transition zone or path smoothness\r\n- If forest areas overlap: Adjust positions in normalized space\r\n```\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsinghjay%2Fthird_person_bear_rpg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgsinghjay%2Fthird_person_bear_rpg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsinghjay%2Fthird_person_bear_rpg/lists"}