{"id":24862609,"url":"https://github.com/takana671/terrainwithhole","last_synced_at":"2025-03-26T17:44:51.086Z","repository":{"id":262478565,"uuid":"883156159","full_name":"taKana671/TerrainWithHole","owner":"taKana671","description":"Making terrain having hole","archived":false,"fork":false,"pushed_at":"2025-01-06T16:13:29.000Z","size":12686,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-31T22:58:46.255Z","etag":null,"topics":["geomipterrain","heightmap","panda3d","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","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/taKana671.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-11-04T13:27:27.000Z","updated_at":"2025-01-06T16:13:32.000Z","dependencies_parsed_at":"2024-11-12T17:19:37.960Z","dependency_job_id":"2b0604e8-23fe-463c-8d24-116bae798e2c","html_url":"https://github.com/taKana671/TerrainWithHole","commit_stats":null,"previous_names":["takana671/terrainwithhole"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taKana671%2FTerrainWithHole","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taKana671%2FTerrainWithHole/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taKana671%2FTerrainWithHole/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taKana671%2FTerrainWithHole/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/taKana671","download_url":"https://codeload.github.com/taKana671/TerrainWithHole/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245707210,"owners_count":20659532,"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":["geomipterrain","heightmap","panda3d","python3"],"created_at":"2025-01-31T22:58:51.861Z","updated_at":"2025-03-26T17:44:51.068Z","avatar_url":"https://github.com/taKana671.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TerrainWithHole\nThis repository was made to learn how to make hole in terrain.\nI tried two methods. The first is to partly remove geometry data from terrain by using memoryview. \nThe second is to draw a shape on a hightmap by OpenCV, make the shape transparent, and use 'discard' in a shader, which was inspired by the panda3D community site \"https://discourse.panda3d.org/\". \nThe first way does not need to use 'discard' in shaders.\nAnd made it possible for the character to go through the hole by embedding a plane model under ground near the hole, and ignoring the collision between the character and terrain if the embedded plane model is detected by ray cast. \n\nhttps://github.com/user-attachments/assets/c0bf91fe-2344-4a0d-bcf1-ba6def7ecaa2\n\nhole made by removing geometry data\n\n![demo](https://github.com/user-attachments/assets/71ecf7f0-f992-4eee-a41b-67349c005863)\n\nhole made by using heightmap\n\n# Requirements\n* Panda3D 1.10.14\n* numpy 2.1.2\n  \n# Environment\n* Python 3.11\n* Windows11\n\n# Usage\n* Execute a command below on your command line.\n```\n\u003e\u003e\u003epython terrain_with_hole.py\n```\n# Controls:\n* Press [Esc] to quit.\n* Press [up arrow] key to go foward.\n* Press [left arrow] key to turn left.\n* Press [right arrow] key to turn right.\n* Press [down arrow] key to go back.\n* Press [ D ] key to toggle debug ON and OFF.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftakana671%2Fterrainwithhole","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftakana671%2Fterrainwithhole","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftakana671%2Fterrainwithhole/lists"}