Marcio Lima 利真 マルシオ 💎 retweeted
Your mom been knew you needed rest, AI just caught up
I asked an AI to look at my numbers. It reminded me of the person who’s always looked out for me.
I’ve been online since 1997. I’ve watched social networks arrive, become everyone’s entire world, and disappear. Through all of it, a computer was a tool. You asked. It did the job.
Today, I connected Meta’s Muse to the health app I’ve spent over a month building with ChatGPT. I’ve been tracking my sleep, workouts, test results, and blood pressure. Keeping track has helped me change my habits. I’ve lost about 18 pounds.
I expected an analysis. The response began with:
“Marcio, you need to rest.”
There, in the data, were the nights I’d been brushing off. Broken sleep. My sleep score slipping from 97, 94, 93… to 62, 47, 42.
I’d put in a 16-hour workday. Creating, posting, taking care of things. Just a few weeks after surgery.
In my head, I’m still 25. Apparently, my body missed that memo.
But realizing I was tired wasn’t what got to me. It was reading those words.
There’s someone who talks to me like that. She lives in Brazil, roughly 11,000 miles from here. On November 1, she turns 87.
My mom.
“Have you eaten?”
“Go get some sleep.”
You grow up, move countries, start a business, learn to handle all kinds of problems. To your mother, you’re still the kid who needs something to eat and a decent bedtime.
I worry about her a lot. I’ve brought her to Japan several times, but she stays for three months and goes home. Three months pass awfully quickly when you know how much distance comes afterward.
If you live far from your mother, you know that empty feeling. Video calls help. Hearing her voice helps. But when the call ends, the distance is still there.
Maybe that’s why those words hit me so hard.
One moment I was looking at charts. The next, I was thinking about her.
I can’t tell you what Muse understands about exhaustion or missing someone. I can tell you what I felt when I read its response.
There’s a sign in my laboratory: “Every forgotten machine has a story.” I spend a lot of my life paying attention to machines other people have left behind.
Today, one of them made me realize how often I’d been putting myself last.
In the life I’ve built here in Japan, I’ve learned to fill every hour. There’s always room for one more task, one more idea, one more thing to finish before bed.
And maybe part of missing Brazil is missing someone who interrupts all that momentum to ask whether you’ve had lunch.
They don’t need a progress report. They just want to know you’re okay.
That’s what I heard in that sentence, even knowing where it came from.
Thank you, @Muse, for the reminder.
My mom wouldn’t have needed a single chart to tell me the same thing. ❤️
Marcio Lima 利真 マルシオ 💎 retweeted
7日間で、8つのプロジェクトを
オープンソース公開しました。
かかったAIのトークンは、
それだけで3万ドル分以上🐰
製品として作れば、
数千万円規模になってもおかしくない技術です。
それを全部、MITライセンスで無料公開します。
しかも、使い方を覚える必要はありません。
READMEを読み込むのも、環境構築で悩むのも、もう人の仕事じゃない。
あなたのAIエージェントに、ひとこと伝えるだけ。
学ぶのも、動かすのも、AIがやる。
これからの説明書は、人の頭のためではなく、
あなたの手元のAIのために書かれる。
勉強した人が勝つ時代から、
AIを乗りこなした人が勝つ時代へ。
学ぶな。乗りこなせ!
I asked an AI to look at my numbers. It reminded me of the person who’s always looked out for me.
I’ve been online since 1997. I’ve watched social networks arrive, become everyone’s entire world, and disappear. Through all of it, a computer was a tool. You asked. It did the job.
Today, I connected Meta’s Muse to the health app I’ve spent over a month building with ChatGPT. I’ve been tracking my sleep, workouts, test results, and blood pressure. Keeping track has helped me change my habits. I’ve lost about 18 pounds.
I expected an analysis. The response began with:
“Marcio, you need to rest.”
There, in the data, were the nights I’d been brushing off. Broken sleep. My sleep score slipping from 97, 94, 93… to 62, 47, 42.
I’d put in a 16-hour workday. Creating, posting, taking care of things. Just a few weeks after surgery.
In my head, I’m still 25. Apparently, my body missed that memo.
But realizing I was tired wasn’t what got to me. It was reading those words.
There’s someone who talks to me like that. She lives in Brazil, roughly 11,000 miles from here. On November 1, she turns 87.
My mom.
“Have you eaten?”
“Go get some sleep.”
You grow up, move countries, start a business, learn to handle all kinds of problems. To your mother, you’re still the kid who needs something to eat and a decent bedtime.
I worry about her a lot. I’ve brought her to Japan several times, but she stays for three months and goes home. Three months pass awfully quickly when you know how much distance comes afterward.
If you live far from your mother, you know that empty feeling. Video calls help. Hearing her voice helps. But when the call ends, the distance is still there.
Maybe that’s why those words hit me so hard.
One moment I was looking at charts. The next, I was thinking about her.
I can’t tell you what Muse understands about exhaustion or missing someone. I can tell you what I felt when I read its response.
There’s a sign in my laboratory: “Every forgotten machine has a story.” I spend a lot of my life paying attention to machines other people have left behind.
Today, one of them made me realize how often I’d been putting myself last.
In the life I’ve built here in Japan, I’ve learned to fill every hour. There’s always room for one more task, one more idea, one more thing to finish before bed.
And maybe part of missing Brazil is missing someone who interrupts all that momentum to ask whether you’ve had lunch.
They don’t need a progress report. They just want to know you’re okay.
That’s what I heard in that sentence, even knowing where it came from.
Thank you, @Muse, for the reminder.
My mom wouldn’t have needed a single chart to tell me the same thing. ❤️
Prompt Drop ⤵️
Made with @dreamina_ai · Seedance 2.5 🎬
#DreaminaCPP
THANKS FOR THE LIFT, ROADSTER
REFERENCE IMAGES — ATTACH IN THIS ORDER
Image 1 — MIO’s character sheet: preserve her identity, facial features, silver hair with blue tips, red cat-ear accessories, clothing, and other accessories.
Image 2 — The Roadster reference sheet: preserve the silver-and-white bodywork, ROAD MODE silhouette, black glass roof, and geometric wheels. The vehicle retains the same design throughout.
Image 3 — The 50-year-old Japanese driver’s character sheet: preserve his face, hairstyle, navy jacket, gray shirt, beige trousers, and dark sneakers.
Use these sheets only as visual references. Do not reproduce their text, panel divisions, or diagrams.
FILM REQUIREMENTS
Create an exactly 30-second, photorealistic cinematic action short in vertical 9:16 format. Use clear cinematic cuts.
Setting: rural Japan at golden hour, beside a bridge damaged in a fictional earthquake.
MIO approaches quickly in the Roadster. A stranded driver faces the approaching car with the missing bridge section and river behind him, spreading his arms to warn her to stop.
MIO remains composed. After braking, she reassures him and invites him into the left passenger seat. They cross the broken bridge together in the hovering Roadster. Powerful downward jets strike the river, throwing enormous curtains of water upward.
The man watches the water rise outside his window, terrified. MIO remains calm. After landing safely, she thanks the Roadster, looks into the camera, and gives a playful wink.
PERFORMANCE CONTRAST
MIO is calm, confident, and gentle from beginning to end.
The man remains anxious while warning her, boarding, and crossing the river. Even after landing, he is still visibly shaken.
Do not make MIO suddenly widen her eyes in fear, panic, or scream. She recognizes the danger and knows how to handle it.
CRITICAL: SEATING AND ORIENTATION
The Roadster is a right-hand-drive, two-seat vehicle with exactly one steering wheel, permanently located on the vehicle’s right side.
MIO remains in the right driver’s seat throughout.
The man occupies only the left passenger seat.
Left and right refer to the vehicle’s orientation when facing forward from inside, not to screen position.
The left passenger position has a dashboard surface in front of it, with no steering wheel, pedals, or secondary driving controls.
The man never touches the steering wheel, operates the driving controls, or replaces MIO as the driver.
During boarding, establish all three elements in the same shot:
• The empty left passenger seat.
• The center console.
• MIO already seated on the right, holding the only steering wheel.
After the man sits down, MIO remains in her original position.
Do not show the man sitting behind a steering wheel. No mirrored interiors, swapped seats, disappearing characters, or additional steering wheels.
Both occupants must be wearing seatbelts, with doors and windows fully closed, before takeoff.
GEOGRAPHY AND CONTINUITY
The approaching road leads to a short bridge with approximately 12 meters of its central span missing.
The remaining bridge decks are at the same height, approximately 2 meters above the river. Clearly show both broken edges and the water between them.
The man stands several meters before the near edge, close to the side of the road:
• He faces the approaching MIO.
• The missing bridge deck, lower river, and far bank are behind him.
• There must not be an uninterrupted road extending behind him.
His small gray car is parked on the shoulder farther back toward the approaching traffic. It does not block the Roadster’s route or obscure the river behind him.
The gray car stays on the near bank. Once the man boards the Roadster, do not leave a duplicate of him beside his original car.
Rice fields border the approach road. Damaged empty houses, fallen roof tiles, and collapsed low walls appear only in the background to establish the earthquake aftermath.
No isolated scenic inserts of the rice fields. No new buildings collapse during the sequence.
00:00–00:01 — THE TIRE: IMMEDIATE MOTION
Extremely low tracking close-up beside the Roadster’s front wheel.
The tire spins rapidly. Asphalt rushes beneath the camera while metallic reflections flicker across the bodywork above. Establish speed through realistic motion blur and strong foreground parallax.
Use approximately one second. Do not repeat the wheel shot.
HARD CUT.
00:01–00:03 — FROM SPEED TO THE DANGER AHEAD
Cut to a forward-facing view just above the hood, looking along the direction of travel.
Rice fields stream backward on both sides. Ahead, a man spreads and waves his arms, signaling the driver to stop.
The broken bridge, river, and far edge are already recognizable behind him.
Make the relationship clear: the car is approaching him, and he is warning it about the danger beyond.
Do not cut away to an unrelated close-up of rice stalks.
HARD CUT.
00:03–00:05 — THE MAN AND THE GAP IN ONE FRAME
Medium-wide shot of the man from the approaching car’s direction, retaining environmental depth.
Facing the camera, he spreads his arms and raises both open palms urgently. He briefly turns to point at the broken bridge behind him, then faces the approaching car again.
Clearly show the broken edge and lower river behind him. Do not substitute a continuous road for the gap.
He is visibly anxious and physically tense, but stays beside the vehicle’s path.
HARD CUT.
00:05–00:07 — SHE STOPS CALMLY
Brief low shot of the wheel and front bodywork: braking, rapid deceleration, and a slight forward suspension dip. No drifting or collision.
Match the action into a wide three-quarter view: the Roadster stops with its front bumper approximately 4 meters before the broken edge. The man stands safely beside it, and the gap remains visible.
Brief close-up of MIO:
Steady eyes, calm breathing, focused expression. She understands the situation without showing fear.
HARD CUT.
00:07–00:10 — A SILENT INVITATION
MIO looks toward the man outside and gives a small, reassuring smile.
She makes one gentle calming motion with an open hand, palm facing downward. She then indicates the empty left passenger seat, inviting him to get in.
No OK sign. Do not join the thumb and index finger into a circle. No thumbs-up or additional gestures.
The man remains nervous. He glances at the broken bridge, looks back at her, accepts the invitation, and approaches the vehicle’s left passenger door.
Clearly follow his movement to the left passenger side. Do not send him around to the driver’s position.
00:10–00:13 — ESTABLISH THAT HE IS THE PASSENGER
Establish the interior through the open left passenger door.
The empty left passenger seat is in the foreground. Across the center console, MIO is clearly visible on the right, with her hand on the only steering wheel.
The man bends down and enters the foreground passenger seat.
Cut on the action to an interior two-shot:
He settles into the left seat, closes the door, and fastens his seatbelt. MIO and the right-side steering wheel remain visible.
He grips his seatbelt anxiously.
MIO calmly presses a button on the center console.
Only MIO operates this button. No second steering wheel appears.
00:13–00:16 — TAKEOFF WITH WEIGHT AND FORCE
Cut to an extremely low exterior angle beside the car.
White high-pressure jets fire downward from beneath the chassis, striking the pavement and pushing small amounts of dust, loose leaves, and dry grass outward.
All four wheels lift together. The body rises smoothly to approximately half a meter above the original bridge-deck level. A visible gap opens between the tires and their ground shadows.
The jets have turbulent volume and physical impact. They are not blue light beams.
No flames, explosions, or body transformations.
Cut to a slightly elevated wide three-quarter view:
The car begins moving horizontally forward. The front wheels and then the rear wheels pass beyond the near broken edge.
00:16–00:19 — SHOW WHY THE WATER RISES
Wide side-tracking shot, keeping the complete Roadster and the river below in the same frame.
As the downward jets first strike the water, the surface directly beneath them depresses. Foam spreads outward, and displaced water surges upward along both sides.
Two fan-shaped curtains of water rise toward window height, then reach toward the roofline.
The water is driven by the jet impact. Fresh spray develops beneath the advancing car while the water behind it falls naturally back into the river.
Backlight illuminates the airborne droplets. Keep the vehicle’s silhouette readable.
Clearly establish “jets hit water → water rises” before cutting to the passenger’s reaction.
00:19–00:21 — EXPERIENCE THE WATER THROUGH HIS WINDOW
HARD CUT to a close-up of the passenger.
The camera looks toward the vehicle’s left side from near the center console. The man sits in the left passenger seat, beside the closed left window. No steering wheel is visible in this composition.
Outside that window, the same curtain of water rises from below to his eye level. Spray hits the exterior glass, rapidly covering it with droplets.
He widens his eyes, tenses his shoulders, grips his seatbelt, and recoils slightly toward the center of the cabin.
The water stays outside. The cabin remains dry.
Do not let water pass through the glass or place the man outside the car.
Carry the jet and water sounds across the cut. Maintain the same direction of travel and lighting.
00:21–00:22 — HER COMPOSURE NEVER CHANGES
Cut to MIO in the right driver’s seat, with the edge of the steering wheel visible.
Reflected water light flickers across her face.
She holds the wheel and watches the route ahead, wearing the faintest reassuring smile.
Her composure contrasts with the passenger’s fear.
No gestures, no glance into the camera, and no frightened expression.
00:22–00:26 — RETURN OUTSIDE AND COMPLETE THE CROSSING
Cut to a wide tracking view from the same side used in the previous exterior shot.
The Roadster is now approaching the far bank. Do not reset its position to the middle of the river.
Water continues to surge along its sides. Spray behind the car falls back, leaving foam and expanding ripples.
The front wheels pass beyond the far broken edge, followed by the rear wheels.
Only after all four wheels are above intact pavement does the vehicle descend.
The tires touch down, the suspension compresses slightly, and the jets stop.
The car rolls a short distance and comes to a smooth stop on the wide, intact shoulder beyond the bridge.
Maintain the same bodywork and wheel design. Do not conceal the landing behind an opaque wall of water or smoke.
00:26–00:27 — HE STILL CANNOT BELIEVE IT
Brief interior close-up of the man.
He remains belted into the left passenger seat.
He glances toward the falling water outside, then turns to MIO, still shaken, with his mouth slightly open.
His hand continues gripping the seatbelt.
No celebratory smile, OK sign, raised finger, or interaction with vehicle controls.
HARD CUT.
00:27–00:30 — ONE LINE, THEN HER WINK
The final shot focuses only on MIO.
The car is stationary. She remains in the right driver’s seat with her seatbelt fastened.
She glances affectionately toward the dashboard and says softly, in clear, natural English:
“Thanks for the lift, Roadster.”
She is thanking the car, not the passenger.
Her delivery is relaxed, warm, and lightly humorous. No shouting or robotic speech.
After the line, she turns her eyes toward the camera, briefly meets the viewer’s gaze, gives a subtle, playful smile, and winks once.
Her hands remain below the frame. No hand gestures and no OK sign.
Do not display subtitles.
End directly on her smile after the wink. Do not cut afterward to the passenger, an exterior view, scenery, or an end card.
DIRECTING AND EDITING
Every opening shot advances the same action: the car is approaching danger.
The warning shot must connect the man to the broken bridge behind him.
The boarding shot must clearly establish the left-side passenger and right-side driver together.
Establish the water curtains outside first, experience them through the passenger’s window, then return outside to finish the crossing.
MIO remains composed. The man remains anxious. Never exchange their reactions.
Maintain the action axis, lighting, vehicle proportions, and direction of movement.
Preserve character identity, clothing, seating positions, and the location of the single steering wheel across every cut.
Use distinct foreground, middle-ground, and background layers. Camera movement should reveal danger, action, or reaction rather than rotate arbitrarily.
SOUND
Until the final line begins at 27 seconds, use only realistic environmental and action sounds: tires, wind, braking, doors, seatbelt buckle, button click, high-pressure jets, water impact, and droplets striking glass.
The water impact becomes substantially louder when the first curtain rises.
Inside the cabin, filter the external spray and jet sounds through the closed windows to establish the enclosed space.
After landing, the jets fade out, leaving room for MIO’s final line.
There is exactly one spoken line in the entire film, delivered by MIO:
“Thanks for the lift, Roadster.”
The man does not speak or shout words. His warning and fear are conveyed through gestures and expressions.
No background music, additional dialogue, subtitles, watermarks, or end-card text.
🤖 Made with AI
Marcio Lima 利真 マルシオ 💎 retweeted
Museの週の制限、昨日からもう100%上限いってるのにガンガン動画作れてる。
いただいた300億トークン減るのかと思ったら、全然減ってない。ずっと動画作りまくってるのに、なんで?????
💡 Day 7 with my @grok Bot staff. 🤖
I had years of Bookmarks on 𝕏.
Turns out I was sitting on Gold. ⛏️✨
🤔 how 👇
🥇 Meet Bookmark Gold ⛏️, my new @grok bot.
My bookmarks are full of “I’ll do something with this later.”
Apparently, “later” needed an employee. 😂
Here’s what it does:
• Explores your X bookmarks and folders. You choose which ones to skip.
• Finds the gems and explains what makes them worth revisiting.
• Uses them as inspiration for original ideas in your voice, with credit to the source creators.
• Prepares drafts for you to review, with translations if needed.
• Delivers your first 3 ideas right away, then more on your schedule.
• Works in your language and tracks previous suggestions to avoid repeats.
It never posts, likes, replies, changes your account or reads your DMs. You decide what to use.
You already saved the inspiration.
Give it something to do. ⛏️👇
x.ai/bot/FdxznnWTbVbycSQsKcX…
🤑
🤖 Made with AI
Marcio Lima 利真 マルシオ 💎 retweeted
マルシオさんにいいこと教えてもらいました!
Museで動画を作るときに「教科書に出てくるような日本語じゃなくて、日本人が普段話している自然な日本語で話して」と入れる。
読み方や発音と言うよりは、感情表現や笑い声などが豊かになる感じで、確かに自然な感じがします!
🤖 Made with AI
Replying to @Kashiko_AIart
そうなんです!😂
まだ少しAIっぽさは残ってますけど、日本語はかなり自然になりました!
実は、発音や話し方がぐっと良くなったコツがあるんです。
AIに「教科書に出てくるような日本語じゃなくて、日本人が普段話している自然な日本語で話して」と指示しただけなんです。
それだけで驚くほど自然になりました!
ぜひこの新しい動画も見てみてください!😊🎬
Marcio Lima 利真 マルシオ 💎 retweeted
#ElevenLabsAmbassador
【手付けアニメ0フレーム】この黒いの、全部コードで動いてます
触手で掴む場所を自分で選んで、伸ばして、掴んで、離す。
床も壁も天井も、それだけで這い回ります。
キーフレームなし。機械学習なし。
全部コードとリアルタイム物理です。
▼ このポストをそのままAIエージェント(Claude Codeなど)に貼れば、同じ生き物が作れます👇
――――――――――
🤖 エージェント向け 技術メモ
――――――――――
■ 作るもの
黒い液体の触手生物。脚のIKではなく「掴み点」だけで移動し、地面・岩・階段・壁・天井・角の乗り越えを同じロジックで処理する。
環境:Godot 4(GDScript)。他のエンジンでも考え方は同じ。
■ 1. 掴み点
・地形/壁/天井/岩の表面に候補点をばらまき、ポアソンディスクサンプリング(間隔 約0.27m)で間引く
・岩など形が複雑なものは、外側から中心へレイを飛ばしてコリジョン表面にスナップ
・他の物体に埋まった点は捨てる
・空間ハッシュで「近くの掴み点」を高速検索
■ 2. 掴み点の選び方(毎フレームのスコア)
届く範囲(約1.1m)の掴み点を次の項目で採点し、スコアの高い順に、体からその点へのレイが遮られない点を選ぶ
・表面に沿った距離が理想値(約0.72m、触手が増えるほど短く、40本で0.46m)に近い
・進みたい方向にある
・面の法線が体の方を向いている
・すでに掴んでいる点から離れている(触手が一か所に固まらない)
■ 3. 離すルール
・伸びすぎ(長さ上限の92%超)→ 必ず離す
・体より後ろにあり、他の触手が十分掴んでいる → 離してよい
・掴んでおく目標本数:8本のとき地面4本・天井5本。触手が増えると6→9→12→16本(12/18/26/40本のとき)。空中では少なめ
■ 4. 体の動き
・体は1つの質点。実際にかかる重力 = 重力 ×(1 − 支持率)。支持率は掴んでいる本数から0〜1で決める
・掴んでいる間は、最も近い面から一定距離(約0.24m、触手が増えるほど大きく)に引き寄せ、その面に沿って目標速度へ近づける
・壁に向かって進むと、押し込む分を「面に沿って上向き」に変換 → 自動で壁を登る
・掴んでいる触手は「長さの上限だけを持つロープ」として扱う(縮むのは自由、伸びるのは上限まで)→ ぶら下がりや振り子が自然に出る
・データの流れは一方向:体 → 掴み点選び → 触手の状態 → ロープ計算(逆向きに影響させると暴れる)
■ 5. 触手
・状態は4つ:体の中(非表示)/伸びる/掴む/戻る(IDLE / REACH / GRIP / RELEASE)
・伸びる:ベジェ曲線上に弧長で等間隔に点を並べ、根元から先端へ向かって伸ばしていく(点が詰まらないので震えない)
・掴む:先端を固定し、残りはVerletロープで解く。加えて元の弧の形へ弱く引き戻す
・戻る:ロープを巻き取りながら体に溶けて消える
・描画前に11点をCatmull-Romで16区間に補間 → 継ぎ目のない滑らかな管になる
■ 6. 液体の見た目(ここが一番大事)
・メッシュではなく、SDFをレイマーチングして描く
・体の球4つ+触手のカプセル列+水滴+糸を、smooth min(smin)でひとつの液体に溶け合わせる
→ 触手が体から「引き出され」、掴んだ所で液がはねて広がり、離すと糸を引いて切れる
・1本の触手の中で隣り合うカプセル同士は普通のmin(smooth minだと継ぎ目ごとに膨らみ、節に見える)
・黒い高光沢:トゥーン調の空/地面の映り込み+硬いハイライト+斜めから見た時の油膜の虹色+紫のリムライト+輪郭線
・高速化:
・不透明だが透明パイプライン(ALPHA=1)で描く(不透明扱いだと深度プリパスでレイマーチングが2回走る)
・触手ごとに境界球でカリング
・影は影専用の簡略シェーダーで別に落とす
■ 7. 成長(黒い水を飲む)
・水たまりに触手を3本以上入れる → 液の塊が触手を伝って体へ流れる → 水たまりが縮む → 体が膨らむ → 新しい触手が一気に出る
・触手の数 8 → 12 → 18 → 26 → 40(ドラム缶)
・触手が増えるほど体を高く持ち上げ、掴み点を体に近づける(触手が斜め下に伸びる)→ 全体のフットプリントが広がり続けない
・触手が増えるほど細く、速く
■ 8. 見せ場の動き
・天井へ長い触手を1本撃ち出し、ロープを巻き取って体を引き上げる
・触手1本でぶら下がり、振り子のように隙間を飛び越える
・ドラム缶:縁だけを掴み、油面と一緒に体を沈め、飲み干したら縁の上まで浮き上がって飛び出す
――――――――――
デモ動画内のナレーションとBGMは、すべて @ElevenLabs の Eleven v4 で生成しています。
@ElevenCreative
#ElevenCreativeAmbassador
🤝 Paid partnership · 🤖 Made with AI
アニメーションデータ0フレームのクモ🕷
地面→壁→天井、さらに縁を回り込んで裏側まで、すべてコードでリアルタイムに動かしています。
このポストをそのままAIエージェント(Claude Code / Codex など)に渡せば、同じ動きを再現できるはずです。以下はエージェント向けの技術メモです👇
――――――――――
8本脚のクモを、キーフレーム0・機械学習なし・レイキャストのみで歩かせてください。地面⇄壁⇄天井⇄縁の裏側を途切れずに移動できること。エンジンは問いません(原作は Godot 4 / GDScript)。
■ 毎フレームの処理順
1. 入力方向を今いる面の接平面に投影し、進行方向を面法線まわりに回す(旋回速度に上限あり)
2. ナビゲーション用のアンカー点を面に沿って進める
3. 歩行位相を進め、各脚の踏み出し判定と着地点探索を行う
4. 脚の接地状態から胴体の位置と姿勢を決める(バネで追従)
5. 胴体が地形にめり込んでいたら押し出す
6. 各脚をIKで解き、見た目を更新する
■ 1. アンカー(面に沿った移動)
・点と面法線を持たせる。移動後は法線方向の上下からレイを撃ち、面上に再投影する
・法線の変化が小さければそのまま更新し、大きければ「面の乗り換え」として扱う
・乗り換え時は、旧法線→新法線の回転(クォータニオン)で進行方向を回してから新しい面に投影する(平行輸送)。こうすると天井でも進行方向が反転しない
・凹角(壁):進行方向に前方レイを撃ち、法線が大きく違う面に当たれば、それを「次の面」とする
・凸角(縁):少し前方の真下へのレイが空振りしたら、縁の下から後ろ向きにレイを撃ち、裏側の面を見つける
■ 2. 90度の面替えは「前脚から先に着く」(最重要)
・次の面を見つけても、アンカーはすぐには乗り換えない。角の手前で減速し、頭と壁の間に8cmほど残して止まる
・前の2本は歩行位相を待たず、壁を探るような「探り足」を出す。着地点は、理想の着地点を新しい面に投影し、さらに面に沿って14cm先へ伸ばした位置。通常より高く上げ、遊脚中は目標を変えない
・前脚が新しい面に接地してから、アンカーを乗り換える。残りの脚も乗り換え先の面に向かう一歩しか出さない(元の面には戻らない)
・胴体の向きは、接地している脚が乗っている面の法線の加重平均で決める。アンカーの面に近いほど重みを大きくする(薄い板の表と裏で打ち消し合わないように)
・遊脚中の脚は、着地するまで離地点を支持点として扱う。そうしないと胴体が脚より先に回り、頭から壁に突っ込む
・フェイルセーフとして、1.4秒経っても前脚が着かなければ強制的に乗り換える
■ 3. 歩容
・左右交互の4脚グループ(L1 R2 L3 R4 / R1 L2 R3 L4、位相差0.5)。前から後ろへ1脚ごとに位相を少しずらし、軽い波を加える
・歩行周波数は速度に比例して上げる(約1.4Hz+1.15×速度、上限4.6Hz)。遊脚期の割合は低速36%→高速50%。歩幅=速度÷周波数
・踏み出す条件は次のどれか:位相が一周した時点で理想位置から3cm以上ずれている/脚がリーチの98%まで伸びた/停止中に22cm以上ずれている
・隣接する脚(左右の対と前後)がすべて接地しているときだけ上げる(支持が崩れないように)
・着地目標=基準位置+速度×(残りの遊脚時間+立脚時間の半分)。これで足先が胴体の下を「+半歩→−半歩」と通過する
・遊脚の軌道は smoothstep で補間し、離地面と着地面の法線、胴体の上方向を合わせた向きへ sin カーブで持ち上げる。段差を上るときは持ち上げを高くする
・動く箱の上に乗っている足先は、箱のローカル座標で保持して一緒に動かす
■ 4. 足場の探索(3本のレイを順に試す)
① 脚の付け根→目標点(少し延長):壁に当たれば凹角の足場
② 目標点の上方から胴体の下方向へ:通常の地面
③ 縁の下から胴体側へ水平に:凸角の裏側の面
どれも当たらなければ、足先を付け根の下にたたむ。
■ 5. 胴体
・上方向=支持面の法線35%+足先平面の法線65%。足先平面の法線は、足先を胴体の周りに輪状に並べ、Newell法で求める
・位置は「アンカー+法線×体高」と「足先の重心+足先平面の法線×体高」を35:65でブレンドし、臨界減衰に近いバネで追従させる(足先だけで決めると、胴体は脚待ち・脚は胴体待ちのデッドロックになる)
・着地のたびに、高さ方向のバネへ下向きのインパルスを加える(やや減衰不足にして、ぷるっと沈ませる)
・離地直前の脚と反対側、つまり支持脚側へ重心を寄せる(最大5cm)
・慣性で傾ける:加速時は後ろ、減速時は前、旋回時は外側
・頭・頭胸部・腹部に球を置き、毎フレーム地形との重なりを法線方向へ押し出す
■ 6. 脚のIKと二次運動
・基節(水平に外向き)→腿節・脛節の2ボーンIK(膝は上外側へ)→跗節。跗節は足首から足先へ、上・外・接地面の法線を合わせた方向に垂らす
・腹部、触肢、眉のような毛束は Verlet のバネ鎖で動かす。加減速に遅れてついてきて、着地で揺れる
――――――――――
ポイントは「頭ではなく前脚が先に新しい面に触れる」こと。ここを守るだけで、一気に生き物らしくなります。



























