{"id":13661516,"url":"https://github.com/geniikw/DataRenderer2D","last_synced_at":"2025-04-25T02:33:32.925Z","repository":{"id":80976113,"uuid":"105389380","full_name":"geniikw/DataRenderer2D","owner":"geniikw","description":"make mesh like line, polygon, etc in unity3d ","archived":false,"fork":false,"pushed_at":"2024-07-24T02:20:51.000Z","size":32070,"stargazers_count":182,"open_issues_count":1,"forks_count":22,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-11-10T16:53:12.070Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geniikw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2017-09-30T17:57:40.000Z","updated_at":"2024-10-19T10:58:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"107b12bd-4ad1-4fe4-a49d-bd3211b9bf2f","html_url":"https://github.com/geniikw/DataRenderer2D","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geniikw%2FDataRenderer2D","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geniikw%2FDataRenderer2D/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geniikw%2FDataRenderer2D/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geniikw%2FDataRenderer2D/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geniikw","download_url":"https://codeload.github.com/geniikw/DataRenderer2D/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250742115,"owners_count":21479734,"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":[],"created_at":"2024-08-02T05:01:36.181Z","updated_at":"2025-04-25T02:33:32.296Z","avatar_url":"https://github.com/geniikw.png","language":"C#","funding_links":[],"categories":["GamePlay",":space_invader: 2D \u003ca name=\"2d\"\u003e\u003c/a\u003e","C\\#","Open Source Repositories","Open Source Packages","Game Development"],"sub_categories":["HUD","2D","Unity Engine: Resources"],"readme":"# DataRenderer2D \n\nDataRenderer2D is a simple drawing tool. you can make mesh from data and control it using animator.\nall of PR, bug report, comment, suggestion are vary grateful.\n\n[PatchNote](https://github.com/geniikw/SplineMeshDrawer-PatchNote/blob/master/PatchNode.md)\n\n[AssetStore(free)](https://assetstore.unity.com/packages/tools/modeling/data-renderer-2d-102377)\n\n## Script Edit\nIf you want to control by script, you have to call GeometryUpdateFlagup() after adjust value.\n```csharp\npublic UILine line;\npublic float time;\n\nIEnumerator Corotuine(){\n   var t = 0f;\n   while(t \u003c 1f)\n   {\n      t+=Time.deltaTime/time;\n      line.line.option.endRatio = t;\n      line.UpdateGeometryFlagUp();\n      yield return null;\n   }\n}\n```\n\n## Bezier line\n- Each node has control point and width.\n- set line drawing rate using start rate and end rate.\n\n![bezier](https://github.com/geniikw/SplineMeshDrawer-PatchNote/raw/master/bezier.gif)\n\n\u003cdetails\u003e\n\u003csummary\u003e\nExplain(Korean)\n\u003c/summary\u003e\n 이게 사실 메인입니다. 아래 것(?)들은 그냥 사은품정도로 생각하면 됩니다. 원래 이 에셋의 이름은 Spline mesh Drawer였습니다. 이 이름일 때가 훨씬 잘팔렸구요(...). 아래 다각형과 잡것들은 다른 에셋으로 하려다가 그냥 합쳐서 팔자 해서 DataRenderer2D로 바꾸고 합쳐버렸습니다. 그리고 판매량은 반토막\n이름의 중요성을 깨닫는 순간입니다.\u003c/br\u003e\n 2D로 구성된 선을 생각하는 데로 그리는것이 목적입니다. 시작비율과 끝나는 비율, 각점에서 넓이 등을 커스터마이징 할 수 있습니다. 각 요소들을 Animator에서 조절하여 시각적으로 선을 그리는 효과를 보여주는게 목적이였습니다. 유니티에서 Animator로 움직이기 위해선 struct를 사용해야 합니다.\n그래서 여러 문제들이 생겼는데 덕분에 코드가 개판(...). 뭐, 여러가지 경험을 하면 좋은거죠.\u003c/br\u003e\n 제일 놀랐던건 사용자분들중 여기에 텍스쳐를 입혀서 사용한 분입니다. sprite로 텍스쳐를 입히기위해 짱구를 굴려봤는데 아무리해도 uv잡는게 힘들어서 그냥 0~1로 만들었기 때문에 아틀라스로 표현하긴 불가능합니다. 그래도 여기에 텍스쳐를 입히고 광원을 줘서 나무를 그리고 있는 프로젝트를 봤는데\n정말 멋지더군요.\u003c/br\u003e\n\u003cimg src=\"https://github.com/geniikw/SplineMeshDrawer-PatchNote/blob/master/textureline.png?raw=true\" width=\"400\" height=\"400\"\u003e\n\u003c/details\u003e\n\n## Polygon\n- various method to draw polygon.\n- count, scale, inner ratio.\n\n![polygon](https://github.com/geniikw/SplineMeshDrawer-PatchNote/raw/master/polygon.gif)\n\n\u003cdetails\u003e\n\u003csummary\u003e\nExplain(Korean)\n\u003c/summary\u003e\n\u003cp\u003e\n 기본적인 다각형을 그리는 녀석입니다. 지그재그로 다각형을 그리는 알고리즘엔 제법 짱구를 굴려서 만들었습니다.\u003c/br\u003e\n사실 Hole형식으로 한점에 저렇게 빡빡하게(?) 매쉬가 모이는 경우 어떤 디메리트가 있을 것 같아서 지그재그로 그린건데\n지그재그의 경우 그라데이션을 적용하면 좀 이상하게 나오는 걸 확인해서 그냥 옵션으로 빼버리자 해서 이렇게 됬습니다.\n뭐 어떤 방식이던 장단이 있겠죠.\u003c/br\u003e\n 다각형을 그릴때 시계방향으로 나오거나 사라지는 효과를 만들고 싶었습니다.(이유는 없습니다. 그저 만들고 싶었을 뿐). 처음에는 원을 기준으로 그렸는데 그리는 도중 다각형이 찌부러지는(...) 것을 확인했습니다. 지금은 잘 나오는데 다음 점으로 방향벡터를 구해서 영점에서 시작 각도와 끝나는 각도로의\n방향벡터와 겹치는 점을 기준으로 그리고 있습니다. 이걸 쓰고 있는 저도 무슨말을 하는지 잘 모르겠으니 그냥 넘가셔도 됩니다. 아무튼 자연스럽게 없어지게 만드는건 성공했는데 이걸 뭐 어따 써야될지는 잘 모르겠습니다.\n 이건 떨어진 면접에서 나온 이야기인데, 곧 각 변에 대하여 길이나 색상을 커스텀할 수 있게 하도록 옵션하나를 추가할 것 같습니다.\n말이 좀 이상해서 이해하기 힘든데 예를들어 게임에서 보면 5각형으로 스텟을 보여주는 방식에 쓸 수 있도록 만들 예정입니다.\n뭐, SKT에서 뱅만 KDA가 높아서 오각형을 뚫고 나오잖아요? 그런거 말하는 겁니다.\n\u003c/p\u003e\n\u003c/details\u003e\n\n## Sinwave\n![sin](https://github.com/geniikw/SplineMeshDrawer-PatchNote/raw/master/sin.gif)\n\n\u003cdetails\u003e\n\u003csummary\u003e\nExplain(Korean)\n\u003c/summary\u003e\n\u003cp\u003e\n 네이버 유니티카페에서 질문을 받고 만든 것입니다. 간단한 모델이라 만드는데 1시간쯤 걸린 것 같습니다.\n사실 그리 사용할 데가 애매한 녀석입니다. 물을 표현한다거나 할 때 쓸 수 있으나. 텍스쳐 같은건 꿈도 못꾸고...\n만들면서 신호처리 때 배웠던 톱니파나 지그재그 등등 각동 시그널을 표현하도록 만들려고 했는데\n수직으로 올라가는 패턴의 경우 매쉬를 다르게 해줘야 된다는 것 깨달은 동시에 포기했습니다. 어설프게\n결국 sin파밖에 없는 애매한 녀석이 되었습니다.\n\u003c/p\u003e\n\u003c/details\u003e\n\n## Hole\n![hole](https://github.com/geniikw/SplineMeshDrawer-PatchNote/raw/master/hole2.gif)\n\n\u003cdetails\u003e\n\u003csummary\u003e\nExplain(Korean)\n\u003c/summary\u003e\n\u003cp\u003e\n 그냥 만들고 싶어져서 만든 형식입니다. 사실 폴리곤에 반전형식으로 넣을까 했는데 따로 분리했습니다.\n그냥보면 뻥뚫린 원입니다. 와이어프레임이 어떻게 되어 있나 볼 수 있는 gif입니다.\u003c/br\u003e\n\u003cimg src=\"https://github.com/geniikw/SplineMeshDrawer-PatchNote/blob/master/holeexplain.gif?raw=true\" width=\"400\" height=\"400\"\u003e\n\u003c/br\u003e보시면 안에있는 다각형의 각 꼭지점과 외부의 정사각형에 대하여 폴리곤을 그리고 있습니다.\n대충 다음과 같은 식으로 폴리곤을 만듦니다. \u003c/br\u003e\u003c/br\u003e\n1. 외부 4변에서 다각형의 가장 가까운 점으로 세모를 그린다.\u003c/br\u003e\n2. 내부 각변에서 가장 가깝게 바라보고 있는 외부 4점중 하나와 세모를 그린다.\u003c/br\u003e\u003c/br\u003e\n\n2의 경우 정확하게 가운데에서 그릴경우 내부변에서 어디로 세모를 그릴지 몰라서 버그가 발생하는데\n언젠간 고치겠습니다. \n\u003c/p\u003e\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeniikw%2FDataRenderer2D","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeniikw%2FDataRenderer2D","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeniikw%2FDataRenderer2D/lists"}