├── .github └── workflows │ └── main.yml └── readme.md /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Debug User Email Mapping 2 | 3 | on: 4 | workflow_dispatch: 5 | push: 6 | 7 | jobs: 8 | debug_mapping: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Setup Dummy Data 12 | run: | 13 | # Directly set the variable without single quotes 14 | echo "PR_OWNER_USERNAME=username2_github" >> $GITHUB_ENV 15 | 16 | - name: Define user mappings 17 | run: | 18 | # Start with an empty JSON object 19 | USER_EMAIL_MAPPING_JSON='{' 20 | # Append each user-email pair 21 | USER_EMAIL_MAPPING_JSON+=' "github_username1": "email1@example.com",' 22 | USER_EMAIL_MAPPING_JSON+=' "username2_github": "email2@example.com",' 23 | USER_EMAIL_MAPPING_JSON+=' "username3_github": "email3@example.com",' 24 | # you can add members like this 25 | # USER_EMAIL_MAPPING_JSON+=' "john_smith": "email4@example.com",' 26 | 27 | # Close the JSON object 28 | USER_EMAIL_MAPPING_JSON+='"unknown": "unknown@example.com" }' 29 | echo "USER_EMAIL_MAPPING_JSON=$USER_EMAIL_MAPPING_JSON" >> $GITHUB_ENV 30 | echo "current USER_EMAIL_MAPPING_JSON=$USER_EMAIL_MAPPING_JSON" 31 | - name: Get usernames and map to emails 32 | env: 33 | USER_EMAIL_MAPPING_JSON: ${{ env.USER_EMAIL_MAPPING_JSON }} 34 | PR_OWNER_USERNAME: ${{ env.PR_OWNER_USERNAME }} 35 | run: | 36 | # Simulating two hardcoded reviewers for testing 37 | PR_REVIEWERS_JSON='["username2_github", "username3_github"]' 38 | PR_REVIEWERS_EMAILS=$(echo $PR_REVIEWERS_JSON | jq -r --argjson userMap "$USER_EMAIL_MAPPING_JSON" '[.[] as $username | "" + ($userMap[$username] // "unknown@example.com") + ""] | join(", ")') 39 | echo "PR_REVIEWERS_EMAILS=$PR_REVIEWERS_EMAILS" 40 | 41 | echo "Using USERNAME: $PR_OWNER_USERNAME" 42 | echo "JSON Mapping: $USER_EMAIL_MAPPING_JSON" 43 | # Use `jq` to extract the email, ensuring the variable is used correctly 44 | PR_OWNER_EMAIL=$(echo "$USER_EMAIL_MAPPING_JSON" | jq -r --arg username "$PR_OWNER_USERNAME" '.[$username]') 45 | echo "PR_OWNER_EMAIL=$PR_OWNER_EMAIL" 46 | 47 | if [[ -z "$PR_OWNER_EMAIL" ]]; then 48 | PR_OWNER_EMAIL="unknown@example.com" 49 | fi 50 | 51 | echo "Resolved PR Owner Email: $PR_OWNER_EMAIL" 52 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | neon-izm (twitter @izm) の最近のやったことをまとめておきます。 2 | 仕事内容的に非開示なものとかは除きます。 3 | 4 | 御用、相談の方は twitter @izm までDMとかください。 5 | 6 | https://twitter.com/izm 7 | 8 | # Hobby 9 | ## VR向け下半身トラッキングセンサー+ソフトウェア HaritoraX(2021.3-) 10 | Haritoraの量産版をPanasonicグループ会社のShiftall社と合同で開発しています。 11 | ハードウェア周りはShiftallさん、ソフトウェア側は相変わらず僕です。 12 | 13 | https://ja.shiftall.net/archives/704/ 14 | 15 | HaritoraXはCES2022に出展し、CES2022 Innovation Award (Virtual & Augmented Reality)を受賞しました。 16 | https://www.ces.tech/Innovation-Awards/Honorees/2022/Honorees/H/HaritoraX.aspx 17 | 18 | “同人ハード”が「CES」で賞を取るまで メタバース住人が愛用する「HaritoraX」誕生の軌跡 19 | https://www.itmedia.co.jp/news/articles/2204/30/news060.html 20 | 21 | ## VR向け下半身トラッキングセンサー+ソフトウェア Haritora(2020.5-2020.10発売) 22 | この辺で開発中。PCB起こしてケースは3D CAD使ってSteamVRドライバをC++で書いてUnityでコントロールアプリ書いて。みたいな感じでワイワイ作ってます。 23 | 24 | 2020/11から一般販売開始して、開発費のリクープは出来たので良かった… 25 | 26 | https://izm-11.hatenablog.com/entry/2020/11/15/133439 27 | 28 | ## DMM.make ROBOTのプリメイドAIハック(2019.6-2019.7) 29 | blog 30 | 元値15万円の人型ロボット「プリメイドAI」が2万円で買えるようになったのでハックして遊ぶとすごく楽しい。という話 31 | http://izm-11.hatenablog.com/entry/2019/07/04/123333 32 | 33 | github-repo 34 | https://github.com/neon-izm/PremaindAI_TechVerification 35 | 36 | twitter経由で人型ロボットが安く売ってるという話を見て買ってUnityから操作するようにしました。 37 | 「プリメイドAIハック」というブームが起きました。 38 | 39 | 40 | ## VRChatに例のプールワールドを作ってPublic化した (2019.4) 41 | http://izm-11.hatenablog.com/entry/2019/04/09/124619 42 | 43 | ロケハンしたワールド、ギミック類をちょこっとやりました。 44 | 45 | 46 | ## VRoidStudio製のアバターモデリング (2019.1) 47 | VRoid Studioモデラーさんに依頼して自分のオリジナルアバターを手に入れよう 48 | http://izm-11.hatenablog.com/entry/2019/01/24/120054 49 | 50 | 発注相談シートを公開しているのが頑張ったポイント 51 | https://gist.github.com/neon-izm/24a90245b6eebc42fb166b7c314d198b 52 | 53 | ## 指トラッキング手袋の自作(2018.3) 54 | VTuber流行ってるので指トラッキング手袋を作ってみた 55 | http://izm-11.hatenablog.com/entry/2018/03/25/200537 56 | 57 | n番煎じっぽいけど、基板発注とか久しぶりにやって楽しかった… 58 | 59 | ## 第一回VTuberハッカソン(2018.2) 60 | 第1回 VTuberハッカソン(バーチャルYouTuberハッカソン)参加してきたwrite up 61 | http://izm-11.hatenablog.com/entry/2018/02/26/003728 62 | 63 | Unity側のエンジニア部分をゴリゴリ、スケジュール管理もして結構頑張りました。 64 | - アユート賞 65 | - CGCG賞 66 | - 玉置P賞 67 | 68 | # 発表系 69 | ## Unity Network 完全に理解した (2018.12) 70 | https://connpass.com/event/107578/ 71 | 72 | 2018年現在におけるUnity向けリアルタイムネットワークエンジン選定について 73 | https://speakerdeck.com/izm/unity-networking-libraries-overview2018 74 | 75 | 76 | ## xR Tech Nagoya #4 (2019.8) 77 | https://vrm-nagoya.connpass.com/event/140473/ 78 | 79 | VTuber配信システムLuppetの顔認識の工夫 80 | https://speakerdeck.com/izm/face-recognition-for-luppet-for-xr-tech-nagoya-number-4 81 | 82 | ## トラッキング技術勉強会(2021.6) 83 | https://connpass.com/event/214152/ 84 | 85 | Haritoraのような安価なIMUモーキャプの特性と考慮点について 86 | https://speakerdeck.com/izm/haritorafalseyounaan-jia-naimumokiyapufalsete-xing-tokao-lu-dian-nituite 87 | 88 | ## CEDEC 2022 89 | VRプロダクト開発ラウンドテーブル2022 90 | https://cedec.cesa.or.jp/2022/session/detail/155 91 | 92 | # 調べもの 93 | ## ソーシャルゲームのクライアントエンジニア入門以前 (2020.7) 94 | Docusaurus+Githubホスティングでサイトを作ったやつ。GPL3で公開してます。2万文字くらいで10日 95 | https://neon-izm.github.io/before_join_socialgame/ 96 | 97 | ## Qiita幾つか 98 | https://qiita.com/neon-izm 99 | 100 | 101 | ## Mirror+ Noble Connectのリアルタイムネトゲサンプル(2019.6) 102 | https://github.com/neon-izm/NobleConnectMirrorSample 103 | 104 | ## Mirrorを使ったサーバークライアント別シーンのセンサー値送信サンプル(2019.5) 105 | https://github.com/neon-izm/MirrorOtherSceneServerClientSample 106 | 107 | https://tech.showroom.co.jp/entry/2019/05/17/191216 108 | 109 | 110 | # お手伝い 111 | ## VTuber Paryi さんの3Dお披露目配信 inビリビリ(2020.7) 112 | https://twitter.com/izm/status/1290986453934018560 113 | 114 | 技術スタックはVMC,EVMC4U,CineSwitcherベースで案件向けのカスタムを入れました。 115 | 他にはViveTracker、PPS v2をほんのり。マルチシーンのアレコレとか保守性も考慮。ビリビリのコメントギフト連携とかも動いたりします。 116 | 117 | 2week程度。 118 | 119 | 120 | ## Luppetの顔認識処理(Unity実装) (2018.11-) 121 | 可愛くなる、不自然な挙動を減らす、という感じでゴリゴリ書いてます。 122 | https://luppet.appspot.com/ 123 | 124 | 工夫の一端をこの辺で発表しています 125 | https://github.com/neon-izm/Portfolio/blob/master/readme.md#xr-tech-nagoya-4-20198 126 | 127 | ## VTuber花奏かのんさんのベース演奏モーキャプシステム(2019.6) 128 | ベーシストVtuber◆3Dモデルでベースを弾きたい!プロジェクト【花奏かのん】 129 | https://camp-fire.jp/projects/view/90770 130 | 131 | のお手伝い。トラッキングシステム作ったりセンサーいろいろ試したりしました。 132 | 【CFありがとう】モーションキャプチャでベース演奏【ソラニン/ASIAN KUNG-FU GENERATION】 133 | https://www.youtube.com/watch?v=gCDOpOc8qV8 134 | 135 | ## Noitom Hi5 の調査と便利スクリプト書き (2018.10) 136 | BitStarさん、アユートさんとの共同 137 | Noitom Hi5をVTuber案件で投入したのでレビューしつつ便利スクリプトを書いた 138 | http://izm-11.hatenablog.com/entry/2018/10/10/184502 139 | 140 | ## EasyMotionRecorderメンテなど (2018-) 141 | https://github.com/duo-inc/EasyMotionRecorder 142 | 143 | # フルタイムお仕事 144 | ## IRIAM(ZIZAI Inc.) 145 | https://web.archive.org/web/20200319230226if_/https://iriam.com/staffroll/ 146 | 147 | ## SHOWROOM xR (2018.9-2021.9) 148 | クライアントエンジニアとしてUnityをシバいていました。 149 | 150 | ## REALITY inc (2021.11-) 151 | クライアントエンジニアとしてUnityをシバいています。 152 | 153 | --------------------------------------------------------------------------------