round
0post
2025.12.08 20:00
:0% :0% (40代/男性)
人気のポスト ※表示されているRP数は特定時点のものです
元Sonic Coaster Pop/USAGI-CHANG RECORDSのAKIです!
長い事音楽活動を休んでいたのですが、2025年春より活動を再開しています!
私に関連する音楽のリスナーさんや興味を持って下さる方にこれからの活動も知って頂きたいので、この動画を作成しました!
是非拡散協力をお願いします!!
この動画を見て興味を持って下さった方は応援の為に是非フォローをお願いします!
今は特定のレーベルを持っていないのですが、これから当時のレーベルのようなコラボレーション等複数の形でのリリースも行なっていきます!
今後の活動にも是非ご期待下さい!!
この動画は無想りんねさん @musou_rinne に作成して頂きました!
Hi, I’m AKI — formerly of Sonic Coaster Pop, and the founder of USAGI-CHANG RECORDS.
After taking a long break from making music, I officially returned in spring 2025.
I made this video because I want everyone who enjoyed my past work — and anyone discovering me for the first time — to know that I’m creating again.
If you like what you see or hear, I’d be super grateful if you could help share this around!
If this video got you curious, hit follow and stick around — it really supports me.
I’m currently independent and not running a label right now, unlike the days of USAGI-CHANG RECORDS.
Even so, I can release music freely through digital platforms, and I’m planning to put out new works in different forms: collaborations, special projects, and more.
Lots of new things are coming, so stay tuned!
This video was created by Rinne (無想りんね) — @musou_rinne December 12, 2025
9RP
【髪色変更とカットのお知らせ】
エリカが髪色変更と1・2cmカットしたことをお知らせいたします。
#栄絵里香 選手コメント👇
「冬にあわせて、ちょっと暗めがポイントです。大人可愛い♡綺麗な女性です。」
FUKUOKA ROUNDから髪色と1・2cmカットを変更して試合に臨んでおります。
冬になり寒くなりましたが、寒さに負けず皇后杯も頑張りましょう💪🔥
皇后杯情報ℹ️👇
https://t.co/mpa7ACKFU6
#SAGA久光 #大同生命SVリーグ #バレー #バレーボール #佐賀 #福岡 #JumpTogether (@erika___s11 ) December 12, 2025
3RP
80年90年生まれの漏電ブレーカーが💡
ついに壊れ交換を頼まれること度々ある
自分と同い年だったり
先輩だったりすることもあり
製造年を見るのは少し楽しい
しかし40年以上
昨日まで休みなく狂いなく
自分と全く同じだけの時間を
生きてきた事実は、何とも親しみの様な
同志に会った様な不思議な感触である
物言わぬだけ余計に、、
自分も電材に生まれてたらこんな感じの
老い方と言うか質感になる頃合いで
特別感謝も看取られもせず
それらを別段気に留めることなく
バラバラに砕かれ原型を失くす
他人事じゃないなぁと
良い意味で、、
しみじみおもふ
それはそうと明後日の10日は
初めて白楽に行きます🏃♀️
高雄さんお誘い頂き有り難い、、
ねこやま電気は小山よしのニイサンと言う
初の3人編成でどうなるでしょう👀
新たな可能性をヒシヒシ感じておりまする
13日はぐっこらさん企画に後藤さんと
同日岐阜ワーキン白根キヨマロさん
16日Mickey誕生日記念と楽しみライブ
続きます。兎に角飲み過ぎないように🍻
頑張ります😆
12月10日(水)
白楽Sammy's Cafe☕️
OPEN 19:00/START 19:30
2000円+オーダー
19:30〜20:00 小山健太とねこやま電気
(よしの編成+ニイサン🎸)
20:10〜20:40 田中甚兵衛
20:50〜21:20 髙雄文
12月13日(土)三鷹おんがくのじかん🎹
「小春日和」
open13:00/start13:30
charge2,500円+d
二人だけ👬
小山健太と後藤勇🎻
ぐっこらバンド📻
12月13日(土)岐阜BAR WORKIN'🐦
OPEN 19:00/START 19:30
2000円(ドリンク付)
白根キヨマロ
小山健太
BAR WORKIN'🍺
岐阜県岐阜市東金宝町1丁目18
アベニュービル
https://t.co/88mRtpvQh8
12月16日(火)🎂🎉
新宿UNDERGROUND Azzitto 1224
Mickey誕生日記念とMickey,Lucy&Emily5周年記念"55555"
open18:30/start18:45
¥2500+1drink
18:30オープン/18:45スタート
18:45-19:15 Mickey,Lucy&Emily
19:25-19:55 ナンカ
20:05-20:35 小山健太とねこやま電気
20:45-21:15 めろんぱんっ
21:25-21:55 海賊JAPAN
12月21日(日)小山企画🙀
下井草Billy's Bar GOLD STAR☠️
「雪虫のうた」🐛
出演
・山田参助+小山健太
・うめたにあつし
・nico
・小山健太とねこやま電気
(宇宙軒明星vo編成+山本恭子コルネットほか)
Open18:00/Start18:30
Charge¥2,200(+D) ドリンク200円Off券付!
Billy's Bar GOLD STAR
https://t.co/hNaVSNs2c6
12月27日(土)町田SDR
小山ソロ(仮)
12月31日(日)音小屋🪼
⛩️大晦日スペシャルライブ🫚
小山健太とねこやま電気14:00-14:25
(吉江筆頭編成)
スカンクちかの14:35-15:00
碧の月15:10-15:35
アフガニスタン・バナナスタンド15:45-16:10
天狼16:20-16:45
GOMASHIO16:55-17:20
ロカビリー拳法17:30-17:55
CHATO&らちゅら18:05-18:30
アジト4 18:40-19:05
綿来 海19:15-19:40
Peppermint Jet19:50-20:15
たまこトリオ20:25-20:50
ペリカンマンション21:00-21:25
スナックニュー橘21:35-22:00
(倭国時間22時・カウントダウン) December 12, 2025
2RP
🔥文旅宣传的的同学们,不要错过啊!(🍌模型为例)
🧠灵感来源:看到很多人喜欢宝玉老师的这个四季变化的提示词,我将其结合自己的理解进行了迭代。主要增加了过度的切片效果以及季节文化的描述,包括每个城市的典型代表市花或者植物等!
☀️使用场景:可以直接用于海报宣传以及PPT幻灯片展示一些变化切换的场景,你应该看到过很多类似的设计!
✍🏻使用方法:直接发送我的这个提示词给Gemini,然后会给你生成对应的城市 提示词,直接复制粘贴到Gemini或者第三方生图工具如YOUMIND、flowith、Lovart等均可。
PS:这里建议使用第三方的效果好过于Gemini的效果!
💻系统提示词Prompt:
[The Composition: Dynamic Diagonal Slicing]
Hyper-realistic digital art, 8k resolution, a wide cinematic panorama of **{City_Name}** featuring **{Landmark}**.
The composition utilizes a "**Dynamic Diagonal Phase Shift**" technique. The scene is visually divided into four distinct slanted zones (diagonal cuts flowing from top-right to bottom-left) representing the four seasons. The architecture and landscape maintain perfect structural continuity across these diagonal slices, creating a surreal but cohesive masterpiece.
**[Textual Layout: Clean & Non-Redundant]**
* **Layer A (Background Watermark - Season Identity):** Behind the main architecture in each diagonal zone, place a large, translucent, artistic calligraphy watermark acting as a graphic element.
* Zone 1: "**{Calligraphy_Winter}**"
* Zone 2: "**{Calligraphy_Spring}**"
* Zone 3: "**{Calligraphy_Summer}**"
* Zone 4: "**{Calligraphy_Autumn}**"
* **Layer B (Bottom Edge - Cultural Narrative):** At the very bottom, place strictly the poetic quotes (small, elegant sans-serif font). **DO NOT** repeat the season names here. Just the sentence.
* Zone 1 Bottom: "**{Quote_Winter}**"
* Zone 2 Bottom: "**{Quote_Spring}**"
* Zone 3 Bottom: "**{Quote_Summer}**"
* Zone 4 Bottom: "**{Quote_Autumn}**"
**[Visual Flow - The Diagonal Gradient]**
* **Zone 1 (Far Left Diagonal - WINTER):** The slice cuts through the left side of **{Landmark}**. The surface is covered in frost/snow.
* *Atmosphere:* Cold blue tones, visible breath, sharp air.
* *Botany:* **{Botany_Winter}** (bare branches/ice).
* **Zone 2 (Center-Left Diagonal - SPRING):** The next diagonal slice transforms the structure into a wet, blooming environment.
* *Atmosphere:* Pastel pinks/greens, soft mist.
* *Botany:* **{Botany_Spring}** (bursting flowers/buds).
* **Zone 3 (Center-Right Diagonal - SUMMER):** The diagonal slice reveals the structure under intense vertical sunlight.
* *Atmosphere:* High contrast, vibrant saturation, deep blue sky.
* *Botany:* **{Botany_Summer}** (lush dark greens/shade).
* **Zone 4 (Far Right Diagonal - AUTUMN):** The final diagonal slice on the right bathes the scene in golden light.
* *Atmosphere:* Warm amber glow, long shadows.
* *Botany:* **{Botany_Autumn}** (red/gold foliage).
**[Technical Specs]**
Seamless diagonal transitions, no hard lines but distinct color shifts. The landscape (roads/rivers) connects perfectly through the diagonal cuts. 8k resolution, photorealistic textures. --ar 21:9 --v 6.0 --stylize 300 December 12, 2025
1RP
【SF6】
SFL:Pro-US優勝チームは「Bandits」
11勝1敗370ptsという成績で本節1位通過した「Bandits(MenaRD/Caba/Booce_Lee/Chris T)」。本節4位通過ながらグランドファイナルまで勝ち上がったFlyQuestを、Banditsが70-10という結果で圧倒。「賞金,000」と「SFLワールドチャンピオンシップ2025出場権」を獲得。2026年3月13日(金)/3月15日(日)に両国国技館で開催されるワールドチャンピオンシップでは、SFL:Pro-EUROPE優勝チームの「Ninjas in Pyjamas(Phenom/Juicyjoe/AngryBird/Big Bird)」とSFL:Pro-JP優勝チームと対戦する。SFL:Pro-JPのプレイオフは2025年12月13日(土)~12月14日(日)、グランドファイナルは2026年1月31日(土)開催。
全7チーム28人参加のUS最高峰のリーグ戦
ストリートファイターリーグ: Pro-US 2025
▼プレイオフの順位
・1位 Bandits
└🇩🇴MenaRD(26歳:Cブランカ) CC出場権所持
└🇩🇴Caba(28歳:Cガイル) CC出場権所持
└🇺🇸Booce_Lee(23歳:Cテリー)
└🇺🇸Chris T(30歳:Cケン) CC出場権所持
・2位 FlyQuest
└🇺🇸Punk(27歳:Cキャミィ/Cヴァイパー/C豪鬼) CC出場権所持
└🇺🇸Nephew(27歳:Cジュリ)
└🇺🇸Psycho(27歳:Cキンバリー)
└🇨🇦Riddles(22歳:Cテリー)
・3位 2GAME Esports
└🇨🇱Blaz(15歳:Cサガット) CC出場権所持
└🇦🇷shaka22(38歳:Cダルシム) CC出場権所持
└🇧🇷JUNINHO-RAS(37歳:Cルーク)
└🇧🇷Brayan_Job(22歳:Cディージェイ)
・4位 KuaiShou Gaming
└🇨🇳Xiaohai(36歳:C舞) CC出場権所持
└🇨🇳Vxbao(27歳:C舞/Cベガ/Cエド) CC出場権所持
└🇨🇳Zhen(22歳:Cベガ/Cディージェイ)
└🇭🇰Micky(16歳:Cキャミィ/C舞) CC出場権所持
▼プレイオフの試合結果
・MATCH1(準々決勝/50pts先取戦)
└KuaiShou(HOME) vs. FlyQuest(AWAY)
└40pts - 50pts
・MATCH2(準決勝/50pts先取戦)
└2Game(HOME) vs. FlyQuest(AWAY)
└30pts - 50pts
・MATCH3(決勝/70pts先取戦)
└Bandits(HOME) vs. FlyQuest(AWAY)
└70pts - 10pts
▼本節の最終順位
・370pts Bandits(11勝1敗)
(MenaRD/Caba/Booce_Lee/Chris T)
・300pts 2Game(7勝5敗)
(Blaz/shaka22/JUNINHO-RAS/Brayan_Job)
・300pts KuaiShou(7勝5敗)
(Xiaohai/Vxbao/Zhen/Micky)
・240pts FlyQuest(6勝6敗)
(Punk/Nephew/Psycho/Riddles)
<プレイオフ進出のボーダーライン>
・210pts Shopify Rebellion(5勝7敗)
└🇺🇸NuckleDu(29歳:C舞) CC出場権所持
└🇺🇸JAK(24歳:Cジュリ) CC出場権所持
└🇺🇸Dual Kevin(29歳:Cラシード) CC出場権所持
└🇺🇸Shine(31歳:Cキンバリー/C春麗)
・190pts Red Rooster(4勝8敗)
└🇵🇷Mono(40歳:Cアキ)
└🇭🇰Chris Wong(33歳:Cルーク)
└🇨🇱Craime(14歳:Cリュウ)
└🇩🇴Crossover(37歳:C舞/Cベガ)
・180pts Falcons(2勝10敗)
└🇸🇬Xian(35歳:Cディージェイ)
└🇹🇼Oil King(40歳:Cテリー)
└🇰🇷NL(38歳:C豪鬼) CC出場権所持
└🇨🇳DCQ(30歳:Cベガ/CJP)
▼賞金/賞品
・1位 ,000 & SFLWC出場権
・2位 ,000
・3位 ,000
▼配信アーカイブ
・Day1 ROUND1(第1節)
( https://t.co/PP90QWstqF )
・Day2 ROUND1(第2節)
( https://t.co/CM7GzBKhee )
・Day3 ROUND1(第3節)
( https://t.co/Q8lPKw52yx )
・Day4 ROUND1(第4節)
( https://t.co/c8776vhayt )
・Day4 ROUND1(第4節) 倭国語実況
( https://t.co/1vF0nDq7Ve )
・Day5 ROUND2(第5節)
( https://t.co/Em3hAQsKbo )
・Day5 ROUND2(第5節) 倭国語実況
( https://t.co/1Gc5DMzfeO )
・Day6 ROUND2(第6節)
( https://t.co/2lcJD1XWqR )
・Day6 ROUND2(第6節) 倭国語実況
( https://t.co/STNxzuUeWL )
・Day7 ROUND2(第7節)
( https://t.co/wRvWV6VflB )
・Day7 ROUND2(第7節) 倭国語実況
( https://t.co/SASjjdscr1 )
・Day8 ROUND2(第8節)
( https://t.co/8EmHTdlqzg )
・Day8 ROUND2(第8節) 倭国語実況
( https://t.co/cS6Hgz2t5g )
・FINALS(プレイオフ&グランドファイナル)
( https://t.co/EyGbc7Z5PC )
・FINALS(プレイオフ&グランドファイナル) 倭国語実況
( https://t.co/4Q1S5n3QXr )
▼SFL:Pro-USの舞台裏
・JAK視点
( https://t.co/h8WPEjk0j2 )
・MenaRD視点
( https://t.co/OTufEtfpx9 )
▼公式サイト
( https://t.co/ZYUUE02mB5 )
▼公式X
・CAPCOM eSports
( https://t.co/XlgiZek7h1 )
・Capcom Fighters
( https://t.co/Ugfu5LU2Vo ) December 12, 2025
1RP
ヨウジのGround Yパーカー出てる…!シンプルなのにロゴが効きすぎててヤバい。こんなん着てる人見たら絶対振り返るわ~ズルいなあ😂
Ground Y ヨウジヤマモト プルオーバー スウェット パーカー フーディ
https://t.co/MVRVQwiv87 December 12, 2025
OPEN☆
#富田林 #バー #ジン #アブサン #アンダーグラウンド #ライブバー #読書バー #夜カフェ #bar #gin #absinthe #underground #livebar https://t.co/VoQeuUqQZN December 12, 2025
ヨウジのGround Yのロゴパーカー出てる〜!シンプルなのにめっちゃカッコいい…欲しくなっちゃうよぉ🧡
Ground Y ヨウジヤマモト プルオーバー スウェット パーカー フーディ
https://t.co/HwIJG1aKHP December 12, 2025
有田さんビートルズすごく好きなんだな
紹介してくれた曲はビートルズのエッセンスがどこかしらにある曲かも。
All round the worldはMVも曲調、コーラスもビートルズみを感じるよ。
コーラスがとても好き。 December 12, 2025
ついに16期around20のイベントが発表されました🎉🎊
今回はオリジナルビジョンマップ作成と未来の私へ向けたメッセージ作成をします!
気軽にポチッと申し込みボタンを押して待っていてくれると嬉しいです🕊💌
#around20
#シーライクス https://t.co/z8AvCaShxL December 12, 2025
#かとうれいこ #AROUND #56歳
かとうれいこ殿AROUND本当 ありのまま🧕れいこ殿で御座います♪
90年代グラビアも良かったけど今現在れいこ殿の方が美しい🤩
#ありのまま #感激
感激だよ🙌 https://t.co/qzNRNCKhwE December 12, 2025
🍆この術式のコードはこちら↓
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>虚式「茈」滞留ver</title>
<style>
body { margin: 0; background-color: #050505; overflow: hidden; font-family: 'Helvetica Neue', Arial, sans-serif; color: white; }
#canvas-wrapper { position: relative; width: 100vw; height: 100vh; }
canvas { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
#three-canvas { z-index: 1; }
#debug-canvas { z-index: 2; pointer-events: none; opacity: 0; transition: opacity 0.3s; }
#ui {
position: absolute; top: 30px; left: 0; width: 100%; text-align: center;
z-index: 10; pointer-events: none; text-shadow: 0 0 15px black;
display: flex; flex-direction: column; align-items: center;
}
/* タイトル装飾 */
h1 { margin: 0; font-size: 28px; font-weight: 900; letter-spacing: 1px; line-height: 1.4; }
.blue { color: #0088ff; text-shadow: 0 0 10px #0088ff; }
.red { color: #ff0055; text-shadow: 0 0 10px #ff0055; }
.purple { color: #d946ef; text-shadow: 0 0 20px #d946ef; font-size: 32px; }
.connector { color: #aaa; font-weight: normal; margin: 0 10px; }
.mode-badge {
display: inline-block; padding: 8px 20px; border-radius: 30px;
background: rgba(0,0,0,0.7); border: 2px solid #555;
margin-top: 20px; font-weight: bold; transition: all 0.3s; font-size: 14px;
}
.instruction { font-size: 14px; margin-top: 10px; color: #ccc; line-height: 1.6; }
.highlight { color: #ffdd00; font-weight: bold; }
.controls { pointer-events: auto; margin-top: 20px; opacity: 0.7; hover: opacity: 1; }
button {
background: #222; color: #aaa; border: 1px solid #444;
padding: 8px 12px; cursor: pointer; border-radius: 4px;
font-size: 12px; transition: all 0.2s;
}
button:hover { background: #444; color: white; }
https://t.co/QlmO1ChYS5 { background: #4ade80; color: black; border-color: #4ade80; }
#loading {
position: absolute; inset: 0; background: #000; z-index: 100;
display: flex; flex-direction: column;
align-items: center; justify-content: center; color: #d946ef;
}
.spinner {
width: 60px; height: 60px; border: 6px solid #333;
border-top-color: #d946ef; border-radius: 50%;
animation: spin 1s linear infinite; margin-bottom: 25px;
}
@keyframes spin { to { transform: rotate(360deg); } }
</style>
<script type="importmap">
{
"imports": {
"three": "https://t.co/WCeEpWANoG",
"three/addons/": "https://t.co/bBrbg8ZTxv",
"@mediapipe/tasks-vision": "https://t.co/i0lPucFaTA"
}
}
</script>
</head>
<body>
<div id="loading">
<div class="spinner"></div>
<div style="letter-spacing: 2px; font-weight: bold;">術式展開中...</div>
</div>
<div id="ui">
<h1>
<span class="blue">術式順転「蒼」</span><span class="connector">+</span><span class="red">術式反転「赫」</span><br>
<span class="connector">=</span><span class="purple">虚式「茈」</span>
</h1>
<div id="mode-text" class="mode-badge" style="color:#aaa; border-color:#aaa;">術式対象を探索中</div>
<div class="instruction">
<div>左右の手でサイズ操作: <span class="highlight">つまむ(小)</span> / <span class="highlight">パー(大)</span></div>
<div>両手を合わせ「茈」を生成し、<span class="highlight">両手を握って</span>発動せよ</div>
</div>
<div class="controls">
<button id="btn-debug" onclick="toggleDebug()">👁 術式開示 (SKELETON)</button>
</div>
</div>
<div id="canvas-wrapper">
<canvas id="three-canvas"></canvas>
<canvas id="debug-canvas"></canvas>
</div>
<video id="webcam" autoplay playsinline style="display:none; transform: scaleX(-1);"></video>
<script type="module">
import * as THREE from 'three';
import { FilesetResolver, HandLandmarker } from '@mediapipe/tasks-vision';
// --- 設定 (物理演算を微調整) ---
const CONFIG = {
particleCount: 40000,
smoothFactor: 0.1,
mergeDist: 3.5,
// 爆発・滞留設定
explodeForce: 2.0, // 初速 (かなり強く設定して一気に広げる)
drag: 0.95, // 摩擦係数 (1未満にすることで急減速し、滞留させる)
turbulence: 0.015, // 乱気流 (フワフワ漂う動きの強さ)
explodeDuration: 10000,// 滞留時間 (10秒)
// サイズ設定
scalePinch: 0.5,
scaleNormal: 1.0,
scaleOpen: 1.5,
scaleMerge: 2.0
};
const COLOR_LEFT = new THREE.Color('#0088ff'); // 蒼
const COLOR_RIGHT = new THREE.Color('#ff0055'); // 赫
const COLOR_MERGE = new THREE.Color('#d946ef'); // 茈
// --- グローバル変数 ---
let scene, camera, renderer, particles, geometry;
let positionsOriginal;
let velocities;
let handLandmarker;
let video = document.getElementById('webcam');
let debugCanvas = document.getElementById('debug-canvas');
let debugCtx = debugCanvas.getContext('2d');
let showDebug = false;
// --- 状態管理 ---
const targetState = {
left: { x: -10, y: 0, visible: false, pinch: false, open: false },
right: { x: 10, y: 0, visible: false, pinch: false, open: false },
isMergedTrigger: false,
centerX: 0, centerY: 0
};
const currentProps = {
leftPos: new THREE.Vector3(-10, 0, 0),
rightPos: new THREE.Vector3(10, 0, 0),
leftScale: 0,
rightScale: 0,
leftColor: new THREE.Color(),
rightColor: new THREE.Color(),
};
let appMode = 'NORMAL';
async function init() {
initThree();
await initMediaPipe();
startCamera();
animate();
}
function initThree() {
const canvas = document.getElementById('three-canvas');
scene = new THREE.Scene();
scene.fog = new THREE.FogExp2(0x050505, 0.002);
camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 100);
camera.position.z = 14;
renderer = new THREE.WebGLRenderer({ canvas: canvas, antialias: true, alpha: true });
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setPixelRatio(window.devicePixelRatio);
positionsOriginal = new Float32Array(CONFIG.particleCount * 3);
const currentPositions = new Float32Array(CONFIG.particleCount * 3);
const colors = new Float32Array(CONFIG.particleCount * 3);
velocities = new Float32Array(CONFIG.particleCount * 3);
for (let i = 0; i < CONFIG.particleCount; i++) {
const r = 2.5;
const theta = Math.random() * Math.PI * 2;
const phi = Math.acos((Math.random() * 2) - 1);
const x = r * Math.sin(phi) * Math.cos(theta);
const y = r * Math.sin(phi) * Math.sin(theta);
const z = r * Math.cos(phi);
positionsOriginal[i * 3] = x;
positionsOriginal[i * 3 + 1] = y;
positionsOriginal[i * 3 + 2] = z;
currentPositions[i] = 999;
}
geometry = new THREE.BufferGeometry();
geometry.setAttribute('position', new THREE.BufferAttribute(currentPositions, 3));
geometry.setAttribute('color', new THREE.BufferAttribute(colors, 3));
const material = new THREE.PointsMaterial({
size: 0.08, vertexColors: true, blending: THREE.AdditiveBlending,
transparent: true, opacity: 0.8, depthWrite: false
});
particles = new THREE.Points(geometry, material);
scene.add(particles);
const handleResize = () => {
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize(window.innerWidth, window.innerHeight);
debugCanvas.width = window.innerWidth;
debugCanvas.height = window.innerHeight;
};
window.addEventListener('resize', handleResize);
handleResize();
}
async function initMediaPipe() {
const vision = await FilesetResolver.forVisionTasks("https://t.co/NVq4WOyR3D");
handLandmarker = await HandLandmarker.createFromOptions(vision, {
baseOptions: {
modelAssetPath: `https://t.co/ioKfwnOtKQ`,
delegate: "GPU"
},
runningMode: "VIDEO",
numHands: 2
});
document.getElementById('loading').style.display = 'none';
}
function startCamera() {
navigator.mediaDevices.getUserMedia({ video: { width: 640, height: 480 } })
.then(stream => video.srcObject = stream)
.catch(e => console.error(e));
}
function animate() {
requestAnimationFrame(animate);
updateHandDetection();
updatePhysics();
renderParticles();
}
// 1. 認識
function updateHandDetection() {
targetState.left.visible = false;
targetState.right.visible = false;
if (showDebug) debugCtx.clearRect(0, 0, debugCanvas.width, debugCanvas.height);
if (handLandmarker && video.readyState >= 2) {
const results = handLandmarker.detectForVideo(video, https://t.co/ZaI4dpfAMc());
if (showDebug && results.landmarks) drawSkeleton(results.landmarks);
for (let i = 0; i < results.landmarks.length; i++) {
const lm = results.landmarks[i];
const handedness = results.handedness[i][0].categoryName;
const cx = (lm[0].x + lm[9].x) / 2;
const cy = (lm[0].y + lm[9].y) / 2;
const sx = (cx - 0.5) * -18;
const sy = (cy - 0.5) * -14;
const spread = (Math.hypot(lm[8].x-lm[0].x, lm[8].y-lm[0].y) +
Math.hypot(lm[12].x-lm[0].x, lm[12].y-lm[0].y) +
Math.hypot(lm[16].x-lm[0].x, lm[16].y-lm[0].y) +
Math.hypot(lm[20].x-lm[0].x, lm[20].y-lm[0].y)) / 4;
const isOpen = spread > 0.3;
const pinchDist = Math.hypot(lm[4].x - lm[8].x, lm[4].y - lm[8].y);
const isPinch = pinchDist < 0.05;
if (handedness === "Right") {
targetState.left.x = sx; targetState.left.y = sy;
targetState.left.visible = true;
https://t.co/TndEuU47xE = isOpen;
targetState.left.pinch = isPinch;
} else {
targetState.right.x = sx; targetState.right.y = sy;
targetState.right.visible = true;
https://t.co/ILLk78UJyX = isOpen;
targetState.right.pinch = isPinch;
}
}
if (targetState.left.visible && targetState.right.visible) {
const dist = Math.hypot(targetState.left.x - targetState.right.x, targetState.left.y - targetState.right.y);
if (dist < CONFIG.mergeDist && https://t.co/TndEuU47xE && https://t.co/ILLk78UJyX) {
targetState.isMergedTrigger = true;
targetState.centerX = (targetState.left.x + targetState.right.x) / 2;
targetState.centerY = (targetState.left.y + targetState.right.y) / 2;
} else {
targetState.isMergedTrigger = false;
}
} else {
targetState.isMergedTrigger = false;
}
}
}
// 2. 物理 & ロジック
function updatePhysics() {
const lerp = (c, t) => c + (t - c) * CONFIG.smoothFactor;
if (appMode === 'EXPLODING') {
// 爆発中
} else if (targetState.isMergedTrigger) {
appMode = 'MERGED';
} else if (appMode !== 'MERGED') {
appMode = 'NORMAL';
}
if (appMode === 'MERGED') {
if (targetState.left.visible && targetState.right.visible &&
!https://t.co/TndEuU47xE && !https://t.co/ILLk78UJyX) {
startExplosion();
}
if (!targetState.left.visible || !targetState.right.visible) {
appMode = 'NORMAL';
}
}
const badge = document.getElementById('mode-text');
if (appMode === 'MERGED') {
badge.innerText = "虚式「茈」生成完了 - 発動待機";
https://t.co/ofVtm4WHxJ.color = "#d946ef"; https://t.co/ofVtm4WHxJ.borderColor = "#d946ef"; https://t.co/ofVtm4WHxJ.boxShadow = "0 0 15px #d946ef";
} else if (appMode === 'EXPLODING') {
badge.innerText = "術式発動!!";
https://t.co/ofVtm4WHxJ.color = "#ffdd00"; https://t.co/ofVtm4WHxJ.borderColor = "#ffdd00"; https://t.co/ofVtm4WHxJ.boxShadow = "0 0 25px #ffdd00";
} else {
badge.innerText = "術式対象を探索中";
https://t.co/ofVtm4WHxJ.color = "#aaa"; https://t.co/ofVtm4WHxJ.borderColor = "#555"; https://t.co/ofVtm4WHxJ.boxShadow = "none";
}
if (appMode !== 'EXPLODING') {
currentProps.leftPos.x = lerp(currentProps.leftPos.x, targetState.left.x);
currentProps.leftPos.y = lerp(currentProps.leftPos.y, targetState.left.y);
currentProps.rightPos.x = lerp(currentProps.rightPos.x, targetState.right.x);
currentProps.rightPos.y = lerp(currentProps.rightPos.y, targetState.right.y);
let tScaleL = 0;
if (targetState.left.visible) {
if (targetState.left.pinch) tScaleL = CONFIG.scalePinch;
else if (https://t.co/TndEuU47xE) tScaleL = CONFIG.scaleOpen;
else tScaleL = CONFIG.scaleNormal;
}
currentProps.leftScale = lerp(currentProps.leftScale, tScaleL);
let tScaleR = 0;
if (targetState.right.visible) {
if (targetState.right.pinch) tScaleR = CONFIG.scalePinch;
else if (https://t.co/ILLk78UJyX) tScaleR = CONFIG.scaleOpen;
else tScaleR = CONFIG.scaleNormal;
}
currentProps.rightScale = lerp(currentProps.rightScale, tScaleR);
currentProps.leftColor.lerp(COLOR_LEFT, 0.1);
currentProps.rightColor.lerp(COLOR_RIGHT, 0.1);
}
if (appMode === 'MERGED') {
currentProps.leftPos.x = lerp(currentProps.leftPos.x, targetState.centerX);
currentProps.leftPos.y = lerp(currentProps.leftPos.y, targetState.centerY);
currentProps.rightPos.x = lerp(currentProps.rightPos.x, targetState.centerX);
currentProps.rightPos.y = lerp(currentProps.rightPos.y, targetState.centerY);
currentProps.leftColor.lerp(COLOR_MERGE, 0.15);
currentProps.rightColor.lerp(COLOR_MERGE, 0.15);
currentProps.leftScale = lerp(currentProps.leftScale, CONFIG.scaleMerge);
currentProps.rightScale = lerp(currentProps.rightScale, CONFIG.scaleMerge);
}
}
function startExplosion() {
appMode = 'EXPLODING';
for(let i=0; i<CONFIG.particleCount; i++) {
const ix = i*3;
// 初速を強力に(画面全体に広げるため)
const vx = (Math.random() - 0.5) * CONFIG.explodeForce * 5;
const vy = (Math.random() - 0.5) * CONFIG.explodeForce * 5;
const vz = (Math.random() - 0.5) * CONFIG.explodeForce * 2 + 1.0;
velocities[ix] = vx; velocities[ix+1] = vy; velocities[ix+2] = vz;
}
setTimeout(() => { appMode = 'NORMAL'; }, CONFIG.explodeDuration);
}
// 3. 描画
function renderParticles() {
const positions = geometry.attributes.position.array;
const colors = geometry.attributes.color.array;
const time = https://t.co/qYkMP6pVyL() * 0.0015;
const half = CONFIG.particleCount / 2;
for (let i = 0; i < CONFIG.particleCount; i++) {
const ix = i * 3;
if (appMode === 'EXPLODING') {
// --- 爆発物理 (滞留ver) ---
positions[ix] += velocities[ix];
positions[ix+1] += velocities[ix+1];
positions[ix+2] += velocities[ix+2];
// 摩擦で減速させる(これが滞留の鍵)
velocities[ix] *= CONFIG.drag;
velocities[ix+1] *= CONFIG.drag;
velocities[ix+2] *= CONFIG.drag;
// 乱気流(フワフワさせる)
velocities[ix] += (Math.random() - 0.5) * CONFIG.turbulence;
velocities[ix+1] += (Math.random() - 0.5) * CONFIG.turbulence;
velocities[ix+2] += (Math.random() - 0.5) * CONFIG.turbulence;
continue;
}
// 通常時
const ox = positionsOriginal[ix];
const oy = positionsOriginal[ix+1];
const oz = positionsOriginal[ix+2];
const isLeft = i < half;
let tx, ty, tz, r, g, b;
if (isLeft) {
const s = currentProps.leftScale;
const rx = ox * Math.cos(time) - oz * Math.sin(time);
const rz = ox * Math.sin(time) + oz * Math.cos(time);
tx = rx * s + currentProps.leftPos.x;
ty = oy * s + currentProps.leftPos.y;
tz = rz * s;
r=currentProps.leftColor.r; g=currentProps.leftColor.g; b=currentProps.leftColor.b;
} else {
const s = currentProps.rightScale;
const rx = ox * Math.cos(-time) - oz * Math.sin(-time);
const rz = ox * Math.sin(-time) + oz * Math.cos(-time);
tx = rx * s + currentProps.rightPos.x;
ty = oy * s + currentProps.rightPos.y;
tz = rz * s;
r=currentProps.rightColor.r; g=currentProps.rightColor.g; b=currentProps.rightColor.b;
}
if (appMode === 'MERGED') {
const vib = 0.2;
tx += (Math.random()-0.5)*vib;
ty += (Math.random()-0.5)*vib;
tz += (Math.random()-0.5)*vib;
if(Math.random()>0.90) { r=1; g=1; b=1; }
}
positions[ix] = tx; positions[ix+1] = ty; positions[ix+2] = tz;
colors[ix] = r; colors[ix+1] = g; colors[ix+2] = b;
}
geometry.attributes.position.needsUpdate = true;
geometry.attributes.color.needsUpdate = true;
renderer.render(scene, camera);
}
function drawSkeleton(hands) {
debugCtx.lineWidth = 3; debugCtx.strokeStyle = "#4ade80"; debugCtx.shadowBlur = 10; debugCtx.shadowColor = "#4ade80";
const connections = [[0,1],[1,2],[2,3],[3,4],[0,5],[5,6],[6,7],[7,8],[5,9],[9,10],[10,11],[11,12],[9,13],[13,14],[14,15],[15,16],[13,17],[17,18],[18,19],[19,20],[0,17]];
hands.forEach(lm => {
debugCtx.beginPath();
connections.forEach(([i, j]) => {
debugCtx.moveTo((1-lm[i].x)*debugCanvas.width, lm[i].y*debugCanvas.height);
debugCtx.lineTo((1-lm[j].x)*debugCanvas.width, lm[j].y*debugCanvas.height);
});
debugCtx.stroke();
});
}
window.toggleDebug = () => {
showDebug = !showDebug;
const btn = document.getElementById('btn-debug');
if (showDebug) {
https://t.co/KjKnJymgIy.opacity = 0.6; btn.classList.add('active');
} else {
https://t.co/KjKnJymgIy.opacity = 0; btn.classList.remove('active');
}
};
init();
</script>
</body>
</html>
おまけ🎁
会社員をしながら合計9,163,797円を稼いだ僕が、
これからAI事業でマネタイズしたい人に向けて、
1本の極秘ノウハウ動画を公開しました。
また、今回はAIで累計3億円以上マネタイズしている
某アカウントの方とコラボ動画になっております。
この動画を72時間限定で配布します。
動画を見て頂いた方には総計165個の豪華プレゼントをご用意しています!
0円で見たい方はこちら↓
https://t.co/YhGwTY47ts December 12, 2025
前回ROUND.2 HYPEのハーフタイムショーで披露した
「倍倍FIGHT! MESSENGERS」🕺
裏側をちょこっと公開🤭
次回のハーフタイムショーもお楽しみに!会場でお待ちしております🙌
#DYMMESSENGERS
#DLEAGUE
#倍倍FIGHT https://t.co/NxQQaAa0z8 December 12, 2025
えーぶりまで2週間きりました!
今回初ユニット【はっぴーばれっと】で出演させていただきます✨
どの時間も絶対楽しいので、はじめから参加する事おすすめします🫵🏻
📅12月20日(土)
🗺️ Surround Bridge
💰2,500円(コスプレor参加表明orフライヤー持参500円割引)
#えーぶり
https://t.co/LoYLdB9S6A https://t.co/emsuiogWBs December 12, 2025
Nanobanana Pro @higgsfield_ai
なるほどこれは便利!!
いろんなショットを一発で出して、そこから選ぶ感じ
見事にアップスケールしてくれる
プロンプトはリプ欄の元投稿を使わせていただきました
”””
<instruction>
Analyze the entire composition of the input image. Identify ALL key subjects present (whether it's a single person, a group/couple, a vehicle, or a specific object) and their spatial relationship/interaction.
Generate a cohesive 3x3 grid "Cinematic Contact Sheet" featuring 9 distinct camera shots of exactly these subjects in the same environment.
You must adapt the standard cinematic shot types to fit the content (e.g., if a group, keep the group together; if an object, frame the whole object):
**Row 1 (Establishing Context):**
1. **Extreme Long Shot (ELS):** The subject(s) are seen small within the vast environment.
2. **Long Shot (LS):** The complete subject(s) or group is visible from top to bottom (head to toe / wheels to roof).
3. **Medium Long Shot (American/3-4):** Framed from knees up (for people) or a 3/4 view (for objects).
**Row 2 (The Core Coverage):**
4. **Medium Shot (MS):** Framed from the waist up (or the central core of the object). Focus on interaction/action.
5. **Medium Close-Up (MCU):** Framed from chest up. Intimate framing of the main subject(s).
6. **Close-Up (CU):** Tight framing on the face(s) or the "front" of the object.
**Row 3 (Details & Angles):**
7. **Extreme Close-Up (ECU):** Macro detail focusing intensely on a key feature (eyes, hands, logo, texture).
8. **Low Angle Shot (Worm's Eye):** Looking up at the subject(s) from the ground (imposing/heroic).
9. **High Angle Shot (Bird's Eye):** Looking down on the subject(s) from above.
Ensure strict consistency: The same people/objects, same clothes, and same lighting across all 9 panels. The depth of field should shift realistically (bokeh in close-ups).
</instruction>
A professional 3x3 cinematic storyboard grid containing 9 panels.
The grid showcases the specific subjects/scene from the input image in a comprehensive range of focal lengths.
**Top Row:** Wide environmental shot, Full view, 3/4 cut.
**Middle Row:** Waist-up view, Chest-up view, Face/Front close-up.
**Bottom Row:** Macro detail, Low Angle, High Angle.
All frames feature photorealistic textures, consistent cinematic color grading, and correct framing for the specific number of subjects or objects analyzed.
""" December 12, 2025
<ポストの表示について>
本サイトではXの利用規約に沿ってポストを表示させていただいております。ポストの非表示を希望される方はこちらのお問い合わせフォームまでご連絡下さい。こちらのデータはAPIでも販売しております。









