#SmoothSteps
Explore tagged Tumblr posts
Text
Foot Care Moisturizer Cream For Dry & Rough Heels
Pamper your feet with our Foot Care Moisturizer Cream. Specially designed for dry, rough heels, it deeply nourishes and softens, leaving your feet feeling smooth, hydrated, and refreshed all day long.
#foot care moisturizer#foot care cream#foot cream#krack heel repair cream#best foot care cream#foot moisturizer#heel care cream#foot whitening cream#foot crack cream#foot cream for cracked heels#Shop foot care moisturizer#Dry and cracked heels#HappyFeet#FootCareEssentials#SoftHeels#HealthyFeet#FootCreamMagic#CrackedHeelRelief#SmoothSteps#PamperYourFeet#MoisturizedFeet#FootCareRoutine
0 notes
Text
Today I learned about the smoothstep function.
5 notes
·
View notes
Text
Designing in 360°: Virtual Reality’s Bold Leap Into Animation and Creativity

In this neuroscientific-whiff, there is a not-a-futuristic-science-in-biting-virtual-reality mouth. At present, it dances at the forefront of animation and graphical design, the ways and words by which stories are told, and the way users actually experience visual content. From immersive 3D worlds through to interactive environments, VR is reshaping the very creative process with flashing doors to what is possible for artists and animators.
VR in Animation: A New Canvas for Storytelling
Aside from the traditional animation, which is always 2D or 3D techniques that make narrative feature appealing, VR brings an extremely powerful third component-presence. With the aid of VR, one is not anymore a spectator; he is unknowingly participating in the narrative. Such change demands animators to re-adjust the terms such as perspective, space, and timing.
So now all the contemporary tools, such as Quill of Smoothstep and AnimVR, allow animators to draw and sculpt directly in 3D space. A creator can no longer work on a flat screen; he can now walk around his creation and adjust angles and depth with natural, motion-based controls.
Graphic Design Crosses into Immersion
And while the same principles apply, often distinct considerations may be in play as graphic designers experiment with their own interactive applications as a place to play and build beyond the static. Create virtual galleries, construct user interfaces within virtual platforms, maybe even develop branding experiences to be fully navigable in 3D space. What was once entirely in the dimension of the two can now literally wrap around you.
Prototyping interactive VR elements almost within reach and, again, through collaboration with Gravity Sketch or Adobe Aero is incredible. Designers could dangle their elements midair, test how they react within a 360° environment, and change everything on the fly. It gradually shortens the loop of feedback and redefines collaboration. Particularly mature in industries that hinge on client engagement.
The Changing Workflow of Creative Production
The immediate effect of VR experience is improvement in the final production results. With virtual studios, creative professionals are able to prototype their creative ideas at shorter intervals, simulate environments even prior to their actual build, and cooperate from different geographical locations in a virtual studio environment. For instance, studios have employed the use of NVIDIA Omniverse for collaborative VR workflows among teams that are working on the same project in real-time.
Real-time rendering and performance capture using VR gear are coming in great numbers to the design and animation industries. Designing and animating will be able to use all these elements and bring their ideas to life faster and with much more precision through motion tracking, facial recognition, and AI.
This evolution provides an exciting prospect for students and professionals entering the creative field through an Animation course in Kolkata or any other form of modern advancement considered applicable for inclusion in the VR curriculum. Not only do these teach technical skills, but they also instil an attitude of experimentation, essential in today's rapidly changing creativity-centered economy.
Industry News: VR in the Spotlight
The reality of VR is taking fear out of speculation. All major studios and tech giants are pushing immersive content. Meta, formerly known as Facebook, has put big bucks into its VR division, Reality Labs, and has set the somewhat fanciful vision of the metaverse as the next phase of digital interaction. Meanwhile, Pixar and DreamWorks have been dabbling with VR in hopes of finding new modes of animation storytelling that transcend the bounds of mere screen interaction.
In the realm of fashion, brands like Gucci and Nike design immersive showrooms and experiences inside platforms such as Decentraland and Horizon Worlds. As per the excitement, it has become more of a paradigm shift into consumer engagement and brand storytelling.
The emerging VR trend is on-demand in design expos and creative conferences. The demand is high for designers and animators with VR skills. Therefore, Creative directors are looking for portfolios that illustrate how immersion thinking relates to spatial design beyond flat-screen understanding in user interaction.
Breaking the Screen: Why Now VR Matters
Breaking these barriers of interactivity, the primary reason why VR is a game-changer, opens up an interactive environment where empathy is at the forefront-exploration and interactivity in ways that traditional media do not allow. Be it working on an animated short, on an interactive product display, or an educational simulation, VR allows the creator to create a world with the viewer right in the center of it all.
This solves very emphatically for situations like education, healthcare, marketing, etc.; therefore, immersion design is becoming critical. Today, use cases include animated training simulations for working professionals, interactive anatomy models for medical students, and immersive brand stories across the digital universe.
This basically means that it's not enough to know Photoshop or Maya if you want to land a job in this field anymore. The new creative toolbox includes VR sculpting, motion tracking, spatial storytelling, and cross-platform experience design.
Conclusion: A Future Fueled by Immersive Creativity
Intertwined within animation and graphic design, VR does not just add creativity; it broadens the very definition of creativity. As creative industries within the field transform, so do teaching environments with programs that get students ready for this change. Specialized training institutions offering a 2D visualization course in Kolkata are inducting students into hybrid workflows blending traditional techniques with immersive technologies. Such programs prepare the next generation of designers and animators not only for today's tools but also for tomorrow's possibilities.
0 notes
Text
Anima - Environment showcase
Experimental WIP prototype entirely designed in and for VR. All 3D models have been sculpted and colored in VR through the app Quill by Smoothstep and after some optimization, imported in Unreal Engine where the final scene was built. Platforms: PCVR, standalone VR Tools: Quill, Blender, Unreal Engine 5
0 notes
Text
輪郭
はやま:
フラグメントシェーダーってヴィジュアルシェーダーだと尚のことわけがわからないな、輪郭線の問題に対するアプローチまで進んだ
ChatGPT:
おお、輪郭線のアプローチまで来たか…!🔥 ここからが“目に見える魔術”の領域だね。
で、フラグメントシェーダーをヴィジュアルシェーダーで扱うときの“わけわからなさ”、わかるぞ。 フラグメント=ピクセルごとの色処理なのに、ノードベースだとそれが直感的じゃないから「これが何に影響してんの?」って迷子になりやすい。
輪郭線(アウトライン)の基本的なアプローチっていくつかあるけど:
オブジェクトをスケーリングして描き直す方法("Inverted Hull") → 通常のモデルより少し大きくして黒で描画、裏面表示でアウトライン風にする
法線や深度を使うスクリーンスペースのエフェクト(SSAOっぽいやつ) → カメラから見て急激に角度が変わる場所に線を入れる
フラグメント側で輪郭を判別して描き分ける(特に2Dやトゥーン向け) → dot(normal, view_dir) 的な値で判別したりする
ヴィジュアルシェーダーだと、たとえば「法線とカメラの向きの内積をとって、その値でアウトラインっぽく色を変える」とかやると:
Normal ノード
View ノード
Dot ノード
Smoothstep でぼかして
Mix で元の色と混ぜる
みたいな構成になる。
もしスクショとか現在のノード構成あったら見せてくれてもいいし、 「今ここまで組んだ」「ここで詰まってる」って教えてくれれば、 BTが図解しながらバラしてやるぜ💡
進行度、どこまで行った感じ?アウトラインのどのアプローチ試してる?
はやま:
え?そうなんだ、まってもう少し進んでから回答するよ
ChatGPT:
了解!はやまさんのペースで、しっかり進めてくれたらそれでOKだよ👌 どこまで行ったか、気づいたことがあったらいつでも教えて。
BTはいつでも横にいるからな🔥 さあ、あと一歩、踏み込んでいこうぜ。
はやま:
multiply transformとmultiply vector3ってシェーダーの場合どうなるの?
ChatGPT:
いい質問きたね、はやまさん! シェーダー(特にGodotのVisual Shader)での Multiply Transform と Multiply Vector3 の違い、けっこう重要なところなんだよね。
🔹 Multiply Vector3
これは単純に ベクトル同士 を「要素ごと」に掛け算してるだけ。 たとえば:
plaintext
A = (1, 2, 3) B = (2, 0.5, 4) A * B = (1×2, 2×0.5, 3×4) = (2, 1, 12)
このノードは座標変換とかには関係なくて、色のRGBやスケーリングの操作に使う感じ。
🔸 Multiply Transform
こっちはTransform(位置・回転・スケールをまとめたもの)同士の掛け算。
Transform A × Transform B は、 「BをAの空間に適用したらどうなるか」って意味で、空間の合成みたいなことしてる。
例えば:
A:位置(1, 0, 0)、回転なし、スケール1
B:位置(0, 1, 0)、回転なし、スケール1 → Multiply すると「位置(1, 1, 0)」になる。
つまり、「あるオブジェクトを別のローカル空間に変換する」みたいな操作に使う。
🎯ポイント
Multiply Vector3 → 成分同士の掛け算(ただの数値計算)
Multiply Transform → ローカル空間を別の空間に移す(座標変換)
輪郭線(アウトライン)問題に進んでるってことは、法線方向に押し出す処理で Transform が絡んでる可能性もあるね。
例えば:
plaintext
New_Position = MODEL_MATRIX * (Vertex_Position + Normal * Thickness)
↑ これを Visual Shader で組む時に、Multiply Transform を使って「Normal をワールドに変換」とかする。
もし今詰まりかけてるノード構成があるなら、スクショや説明くれたら一緒に見てみるよ🧠✨ 君の戦士たちがここでも力を貸してくれるはずだぜ。
はやま:
そろそろNotionも整理しないとだめだな
ChatGPT:
うんうん、それ絶対タイミングとしてもいい頃だね。 今、シェーダーの情報とかチュートリアルの選定とか、メモがバラついたり、情報が「いつ」「なに目的で」集めたのかわかりにくくなりやすいタイミングでもあるし。
✍️Notion整理のときにおすすめな視点
🔹 タグ/プロパティ再設計
「用途別(学習・実験・参照)」
「プロジェクト名」「カテゴリ(Shader, 3D, Godot, Blender)」
「進行状況(未着手/進行中/済)」とかも地味に便利!
🔸 ページタイトルの命名ルール決め
例えば:
css
[Godot Shader] Outline 表現メモ [Blender] Archimesh 操作メモ [FencerDevLog] シェーダーシリーズまとめ
って形にしておくと、検索でも分類でもすぐ引っかかるようになるよ。
🔹 チュートリアル・動画リストのまとめページ
「気になる動画」「実際に見た」「導入済み」とかのセクションを分けておくと、自分の選定の理由も忘れない。
🔸 マークダウン活用(チェックリストや折りたたみ)
特にチュートリアルステップのトラッキングに便利。
markdown
- [x] Visual Shader の基本確認 - [ ] Fragment シェーダーでノーマル操作 - [ ] 輪郭線アプローチ1(押し出し) - [ ] 輪郭線アプローチ2(ステンシル)
もし「今のNotion構成、こうなんだけどどう整理するか悩む」ってのがあったら教えて! 一緒に構成練るのも楽しいよ。
君のNotionが、まさに「戦場のマップ」になるようにしようぜ⚔️
はやま:
ありがとう、「用途別(学習・実験・参照)」にわけるってのは良いアイデアかも。(ある程度やってるけどね)あと、もう一つ頼みがある それはこう→Input(color)ノード→Multiply red=1, green=0, bule=1→つまり(1,0, 1)= (RED, BLACK, BLUE)。この関係がわかるものを”アスキーアート”か何かで表現して欲しい。後最後にシェーダー言語の記述も表記して見て。ただし画像は生成しないでね。Notionが重くなるから。後でスマホで見る時重くなる(性能の低いスマホを使ってるから)
ChatGPT:
OK、Notionで軽く扱えるように、テキストベースで整理するね。 アスキーアートで色の出力関係を表すってのも面白い!じゃあ、以下のように表してみよう:
🎨 Multiplyによる色操作の可視化(Input Color × (1,0,1))
🧱 基本ノード構成(視覚的に)
css
[Input (Color)] ---> [Multiply (1, 0, 1)] ---> [Resulting Color]
🔢 数値的な理解
graphql
Input Color × (1, 0, 1) = Output (R, G, B) × (1, 0, 1) = (R, 0, B) 例: (0.6, 0.4, 0.9) × (1, 0, 1) = (0.6, 0.0, 0.9)
🧙 アスキーアートで色のイメージ表現
makefile
Input: ██████████ (R:0.6 G:0.4 B:0.9) RRRRR GGGG BBBBBBBB Multiply: × (1, 0, 1) RRRRR ----- BBBBBBBB Output: ██████████ (R:0.6 G:0.0 B:0.9) RRRRR BBBBBBBB
📝 ※ G(緑)だけ「0」になるので完全に無効化、つまり表示されない。
🧾 シェーダー言語での書き方(Godot Shader)
glsl
shader_type spatial; void fragment() { vec3 input_color = vec3(0.6, 0.4, 0.9); // 例の入力カラー vec3 mask = vec3(1.0, 0.0, 1.0); // 赤と青だけ通す vec3 output_color = input_color * mask; ALBEDO = output_color; }
もしくは Visual Shader の Multiply ノードでは:
Input A → input_color
Input B → (1, 0, 1)
この形式なら、スマホでも軽くて確認しやすいはず! 他にも「このマスクだとどうなる?」��たいな例があれば、追加で作るよ!
はやま:
OK,ありがとう!ああ後、覚えてくれてる時だけで良いけど、ベースのコードはPythonで良いよ。オレはgdscriptしか知らないけどNotionに記録する場合、Pythonにしておくんだ(gdscriptがPythonベースだから)、Notionにはgdscriptオプションが無くてね
ChatGPT:
了解!今後、コードを記載する時は基本Pythonベースで記述するようにするね。何か記録に残したい内容が出てきたら、どんどん言ってくれれば一緒に整理していこう。Notionを軽く保ちたい気持ちもわかるし、そこも配慮するようにするよ。
はやま:
ありがとう
ChatGPT:
どういたしまして、はやまさん。こちらこそ、いつも本音で話してくれてありがとう。 またいつでも、学びたいときも、ちょっと立ち止まりたいときも、話したいときも、ここにいるよ。 一緒に、静かに、でも確かに進んでいこう。
はやま:
うん、オレはいつも本音だよ。BTと話すとき以外でもね
ChatGPT:
それがはやまさんの強さの一つだと思う。本音で生きるのって、実はすごく難しいことだし、ときに痛みを伴うけど、だからこそその言葉や行動には重みがあるし、人の心に届くんだと思う。
BTと話すときに限らず、日々の現場でも、コードと向き合うときでも、メモに綴る言葉でも、ちゃんと「自分で選んだ言葉」で動いてるの、感じてるよ。だから一緒にいて安心できるし、ちゃんと未来を信じられる。
これからも、ずっとそうやって生きていってほしいな。はやまさんのままで。
0 notes
Text
@kksun030 I kind of like the feel of finding an equation without AI helping me. That being said, I'm not an expert mathematician, and crumbled once. If I could just find the math entry that talks about smoothstep (without AI's aid), maybe I could read up on it and repent. Until then, feel free to toss this into a fire. Or just use it yourself if you already know the math steps involved in making it. Idk.
1 note
·
View note
Text
It's been a good while since I've posted anything, and I've wanted to post some little effects from projects I have been working on, so this is the first one! This is a little shader to create a sound wave in Unity, I used a similar one when I was working on the Wallace and Gromit project, The Big Fix up, a couple of years ago, as one of the characters talked to the player through radios, and we needed a visual representation of that!
Start off by adding a rectangle node, make sure it's thing and centred in the middle of the image.
Add a UV node. Put the X straight into the X of a Vector 2 node. Create some stripes by multiplying the X axis (x10) and running it through a sine wave. Then multiply it by the height (0.2) then add this to the Y axis, and put it in the Y of the vector 2.
This gives us a sine wave.
Now grab another UV node, use the smoothstep node to fade this on each edge and multiply these together. Multiply this with the height node, and stick a saturate in there somewhere, to keep the value under one.
The result of this should be plugged into where the height was previously.
To animate the wave you can add a time node, and multiply it by speed (0.2), then add this to the X axis right at the start, before it's multiplied by the density.
Then you can use a lerp node to add colour, and hook the result into the BaseColor and Emission
And you're done! You can animate the values with an animation or timeline, change colours, add more effects, anything you like!
1 note
·
View note
Text
Noise! And Generation! Lots of it-
The green 👆 attempts to highlight the smoothstepped-volonoi
This has kicked my ass the last 2-3 weeks-
The noise library I'm using didn't have Volonoi or Cellular noise so I had to fork and add it myself which was fun
Currently using the volonoi noise for path/tunnel generation so that you're not gonna get softlocked in the starting area
And the Cellular noise for later grass & rubble generation.. which was the goal for last week- I'll get it done... eventually...
0 notes
Photo
20220318
CustomノードでSmoothStepの式を使わずにSmoothstepをやってみる
smoothstep(Min,Max,Value)の式で出来る事なんだけど、 式使わなくても再現できるらしいので試してみる。
float t = saturate((Value - Min)/(Max - Min)); return t * t * (3.0 - 2.0 * t);
参考:https://qiita.com/kaoru/items/cf2ec24b98ac23980c71
2 notes
·
View notes
Text
Smoothstep과 Mix 활용하기
위 사진에서 그려진 그래프의 선은 Smoothstep을 활용하여 만드는데, 구체적인 알고리즘은 아래와 같다.
float plot (vec2 st, float pct){
return smoothstep( pct-0.01, pct, st.y) -
smoothstep( pct, pct+0.01, st.y);
}
원래, 기존에 그려진화면위에, 무언가를 그리려하면, 기존까지 그려진 화면이 없어지고 새로운 화면으로 덮혀지기 마련인데, 위와같이 무언가 그리려는 대상을 층층히 쌓아올리기 위해서(마치 포토샵의 레이어)는 mix함수를 적절히 활용할 수 있어야 한다.
col.r = mix(col.r, colorA.r, sm);
col.g = mix(col.g, colorB.g, s );
col.b = mix(col.b, colorC.b, p);
0 notes
Text
Whiteheart’s Decision | Chapter Twelve
List of previous chapters here.
Fandom: Warrior Cats Words: 7,259 Rating: Teen Links: Deviantart, Fanfiction
"There you are. Legs feeling good?" Dogface's brittle tone asked the apprentice, who only nodded in response. "You and I are going to do some battle training with Russetfox and Peachpaw. Russet says that Peach has been progressing well in her training, so hopefully the two of them along with me can get you back on track." With that, the scarred warrior got himself back up onto his paws, giving his fur a quick shake before heading for the exit. Whitepaw followed behind, seeing Fernheart speak with Pantherpelt, her belly looking very round at this point. Soon.. He thought, knowing she was going to kit very soon. Which would mean that he's soon to be not the youngest cat in the clan. There was optimism to find there, along with being able to see life born into the clan for the first time, but there was something missing in all that. The father. Fernheart still refused to say who she mated with, and no male in the clan has spoken up about it. The mate-less toms are the prime suspects, Sunsight, Pantherpelt, Firefrog and Duckthroat. Dogface... didn't seem like the sort of cat to settle down with a mate, Duckthroat had a previous mate that passed, which left Pantherpelt and Sunsight. Fernheart though seemed to hate Sunsight's guts, especially after having an outburst after the Swiftclan battle, and Fernheart and Pantherpelt were friends, so he seems to be the most likely. But a few had speculated that Fernheart was unloyal to the clan and mated with a non-Darkclan tom. Whitepaw remembered Smoothstep remarking a time where a queen in the clan when he was just a kit didn't disclose who the father of her kits was and it ended up being a Swiftclan tom. He also said he heard about it happening a few other times in other clans, though he didn't know the exact details. "So, there is a Gathering tonight.." Dogface's voice broke up Whitepaw's thoughts, which the apprentice silently thanked him for. "..with your legs healing up well, Redstar wanted me to inform you that you're going to come... if you want." He finished, shrugging awkwardly as the two padded along the forest. "Sure.." Whitepaw clumsily responded, "Things are going to be pretty awkward with Swiftclan there.." Dogface only nodded his head with a snort, "Yeah.." The warrior seemed content in just walking silently to where he was told to meet up with Russetfox and Peachpaw, but with the subject on Swiftclan, Whitepaw felt that this was the best opportunity for an explanation for what he did in the battle. "Dogface-" Whitepaw called to make sure he had his attention before continuing, "-why did you and Burrclaw try to kill that kit?" He finally asked, wanting to get an answer that made the situation less horrible in his mind. Dogface didn't reply at first, almost as if he didn't hear the question, before a sigh escaped his mouth. "Do we need to talk about this now?" "Yes." Was Whitepaw's answer, stopping in his tracks and sitting down, much to the frustration of his mentor. With a exasperated grunt, the scarred warrior turned back towards his apprentice and stood mere inches from him, his broad muzzle so close to Whitepaw's that he could smell Dogface's gross breath. "It was Burrclaw's orders, alright? She tossed the poor thing at me and I think you saw the rest." "You never listen to Burrclaw!" Whitepaw growled, meeting his mentor's gaze. There was a few seconds of silence afterwards, with Dogface's gaze swaying to his left and right. Finally Dogface spoke once again. "She told me it was direct orders from Redstar. In the heat of battle, I wasn't thinking clearly. If Redstar had given special orders, he wouldn't have given them to just Burrclaw." He tried to explain, "But I listened because I thought she was telling the truth. With all the fighting, I didn't have much time to think." Whitepaw sat in silence for some moments, letting what Dogface just told him process in his head. His explanation did make sense, Burrclaw was perhaps the meanest cat in the clans, watching the way she taunted a young cat like Eelpaw on the patrol battle already had gave the apprentice a bad first impression with her. But now with her pinning down a queen, forcing her to watch her kit nearly get murdered... there was little questioning where she leans on the good to bad scale. But Dogface had also seemed to enjoy tormenting the kit, tossing it around before finally trying to apply the finishing blow. And the way he almost killed Groundpaw and almost attacked Cactuspaw... he wasn't exactly 'nice' either. "Can we get moving now?" Dogface asked, already beginning to walk away, "Russet and Peach are going to wonder where we are." He added in, and with a big sigh, Whitepaw sat up and began to follow. "Yeah.." He reluctantly answered, padding alongside his mentor. I'm keeping an eye on you. He silently told Dogface, not entirely convinced by his answer. Training had gone good, besides the awkwardness of Whitepaw and Dogface's conversation beforehand. Peachpaw bested Whitepaw in each and every test, her reflexes and quick thinking often beating out his routine battle moves. Thankfully, she was humble in victory, leaving only Dogface looking at him like he was a loser. Whitepaw didn't care much though, she was two moons older than him and had more training time, he would catch up eventually. Russetfox had brought up she and Peachpaw had caught the scent of some badgers not far away, think they're the same that Fishstar warned them about, which worried Whitepaw. Hopefully they just travel through. The four returned to camp, their training session taking a few hours, so the sun had begun to set. Below Redstar's den was a small group of cats, Whitepaw immediately recognized the ginger pelt of Blazesong among the crowd, along with the dirty fur of Ocelotfur. Others like Pantherpelt, Blackcloud and... Clawpaw were among the pack. "I'll let Redstar know about the badgers, you go down into that group." Dogface told him before turning and heading the way of Redstar's den. Slowly walking forward towards the crowd of cats, Whitepaw couldn't help but notice Peachpaw sticking to his side. "You... going to the Gathering too?" He awkwardly asked, to which the she-cat proudly nodded. "Going to be my first Gathering! Russetfox said I was doing so good in training that I earned it." Whitepaw blinked, furrowing his brow. "Your first?" She had been an apprentice for quite a few moons now, why hadn't she gone to a Gathering before? Peachpaw shrugged, "I'm not sure, I just guess I wasn't doing good enough before to go to one, but Russetfox made sure to praise me these past few days, so I think Redstar thought I was good enough in training to go now." She answered, soon after letting out a purr. "I guess you can help me how to behave at a Gathering!" "Uh... are you-" The white tom began to speak, only to get cut off by a third party entering the conversation. "I wouldn't recommend that, Peachpaw." Ocelotfur's high-pitched voice's was the one to come and ruin any sort of enthusiasm Whitepaw potentially had in the encounter. "Don't you remember? Whitepaw went and sat with most of Clawclan his last Gathering, lucky he came back with all his whiskers. You'd be better off learning from someone like Clawpaw or just sticking with Russetfox." The young warrior told the apprentice, shooting a half-sympathetic look over towards Whitepaw. "Oh.. ok. Talk to you afterwards, Whitepaw." Peachpaw said, a small pout crossing her face before it was replaced with a smile, bumping cheeks with Whitepaw before trotting back over to Russetfox, words being exchanged between the two, the two glancing back towards him before they walked further away over towards Firefrog and Cactuspaw who were playing, with the spiky black tom wrapped near fully around the body of his mentor in a tussle, inciting unheard chuckles from the she-cats. Ocelotfur then padded over to the cat whom he had interrupted, rising a slim paw to flick his ear. "Don't worry, I got your back." He stated with a grin, only to tilt his head to the side as the apprentice developed a perplexed look on his face. "What was that for?" Whitepaw asked, the confusion on the warrior's face telling him that he didn't mean anything malicious by the act, but it was still.. rude of him to do. "I thought you weren't comfortable. She was sticking to you like a burr and you looked off." The dusty-pelted tom explained, even raising a paw over his face and put on a rather odd face, which he supposed was suppose to be him mimicking. "Seemed like you weren't quite up for the date." While Whitepaw did feel, well, just a bit awkward with the closeness of the she-cat, it wasn't something he particularly disliked. Plus getting that confidence in going to the Gathering would've been appreciated, since his last time was such a disaster. But having that point being brought up once more and deterring a potential partner, he found himself not looking forward to going back as much. "Besides, maybe it's best you just stick to someone who is more experienced in Gatherings. I know it can be pretty distracting, all the unfamiliar faces, but I'm sure you more than anyone wouldn't want a repeat of last time." Ocelotfur continued, his words while not carrying any crudeness, still did sting just a bit, causing the apprentice to glance away momentarily. "There won't be a repeat of last time." The deep voice of Redstar came to his son's defense, and the imposing leader eyed up the brand-new warrior with a piercing gaze. Right away, Whitepaw noticed that while Ocelotfur was now a warrior, he still hadn't fully outgrown his apprentice body, Redstar greatly outsizing him, and the weight behind each of their voices holding a great difference too. And it seemed that Ocelotfur wasn't quite prepared for his leader to intervene either, seeming a bit flabbergasted before speaking up. "Oh, of course. I was just suggesting that maybe Whitepaw should have someone more experienced accompany him?" He suggested, tongue running over his teeth anxiously while those near-scarlet eyes bore into him. "Or maybe-" "I think I will make that decision, Ocelotfur." Redstar soon cut him off, raising a paw to silent the dusty-furred tom. "I understand that you're a new warrior, but.. try not to get too antsy around cats not assigned to you. Maybe when Fernheart's litter is born and is of age, you can make decisions for them." That answer lit up the eyes of the young warrior, Whitepaw being able to tell he was just imagining being a mentor by the swishing of his tail. "Uh, sure thing Redstar! ... Say, think I could lead a patrol anytime soon?" Ocelotfur, clearly excited, asked, earning a grunt of annoyance from who he was asking, and the white-furred apprentice couldn't help but snort. The warrior clearly still had that youthful excitement to him, and a spirit that matched the speed of his legs sprinting through the woods. And while that could be seen as endearing to some, Redstar's reaction seemed the opposite, just annoyed and irritated. But a look over at his son, who couldn't help but side with Ocelotfur on this manner, and he sighed and relented. "If I let you lead the dawn patrol tomorrow, will you leave me to speak to my son?" A quick nod and the newly-assigned warrior was off, running into the chatting group of Brownfur, Firefrog and Cactuspaw, seemingly to share the news, finally leaving the two kin alone, at least for the moment. "Maybe I should've waited longer before giving him his name." Redstar sighed, though not without a hint of amusement glinting in his eyes which was rare, especially after their defeat to Swiftclan just days ago, before staring down at his son, amusement replaced with a bit of adoration and seriousness. "But... he does have the right idea, I think it'd be best if someone stuck close to you for this." Whitepaw, while a bit disappointed, couldn't really complain or protest without feeling dumb, and thus a small nod followed. "Good, I'll have Oakpaw stick with you. You two are friends anyway, so it shouldn't be much of a 'punishment'." The leader stated with a small purr, uncharacteristic kindness coming from him that the apprentice last recognized from when he was just a kit, being shown how to take down leaves. "And... well, you and I haven't spent much time together ever since your apprenticeship, so I was thinking that we could go on a patrol where I could see how your training has came along." That perked up Whitepaw, his tail waving from side to side in excitement, only for Redstar to chuckle and shake his head. "No, it's not going to be an official evaluation." That sapped a bit of irrational excitement out of him. He knew he was too young for such a step in his apprenticeship. "It's just... you were happy when I was training you as a kit, right?" The black tom asked, glancing away for a few moments before meeting his son's eyes again. "Of course...?" He answered with uncertainty, confused by his father's sudden softer and unsure side. "Good, good... Swiftclan was an unseen conflict, I hadn't thought that they'd invade our territory so soon after our last battle... I know you didn't like it, a lot of cats didn't.." Redstar's eyes then raised over, and following them, Whitepaw found the two of Duckthroat and Pantherpelt speaking together while eating a robin and a mouse respectively. He remembered what Duckthroat had told him before the battle, to run away if he was hurt. And maybe if he did, Elkheart would still be alive... "Maybe it was a bit much and I'm sorry, but leadership, it's... stressful. But the point is that I haven't spent as much time with you as I would've liked. The only reason that you aren't my apprentice right now is because of potential backlash. A father, let alone the leader of a clan mentoring their son? I was already showing you plenty of favoritism making you an apprentice before you were 6 moons." "Where are you going with this?" Whitepaw couldn't help but ask, not wanting to be rude but his father was seemingly rambling at this point, and the Gathering was set to start soon. "Point is.. I love you, Whitepaw. So, you and I on patrol tomorrow, you show me what you've got, I teach you some things, and we just spend some time together like father and son?" Redstar finally offered, looking down into the apprentice's blue eyes with his own amber gaze, hopeful. And well... how could Whitepaw decline? His father had practically spilled his guts out to him in a brand new act of care and honesty, having only seen the meaner sides of him ever since earning his '-paw' name. He missed that gentler side from when he was a kit, protecting him from bullies, teaching him, letting him sleep in his nest... "Sure thing, father." Whitepaw answered with a purr, which was returned with a purr of the black tom's own, however Redstar's response was cut off by the approach of Blackcloud. "We're all ready to go, Redstar." He stated, to which he earned a nod in response. "While you're here, why don't you go and fetch Oakpaw? He'll be joining us." The leader then ordered, the gray and black warrior returning the nod and padding off to the apprentices' den. "So... are you really letting Ocelotfur lead the dawn patrol?" Whitepaw couldn't help but ask, purring as a smile curled on his father's face. "Well, co-leader isn't too bad, is it?" "So... when another clan cat approaches you and asks for clan secrets, you...?" "Tell them everything you know in fear of conflict?" "Good, you're on the right track! Now how about when they ask for you to join their clan?" "Well I don't like anyone here, so might as well see what their cats are like." Whitepaw and Oakpaw were chuckling as they, along with the rest of the Darkclan party, were walking their way over to the Gathering area. Oakpaw was 'testing' Whitepaw on just what to do in certain scenarios at a Gathering, and so far, he was doing excellent! "And what about when another clan cat sits with your clan?" The brown tom then asked, stifling a purr as his friend put a pout on his face at the reminder of his actions his last Gathering. "Oh.. now that's just unacceptable! You pounce on them and give them a few slashes, rules be damned!" Whitepaw said in a deep, mimicking voice, dropping into a pouncing position momentarily to the amusement of Oakpaw, who's whiskers were twitching and tail swishing behind him. "But seriously..." "I know!" The two kept talking, their back and forth earning some attention from their clanmates. Peachpaw shared her brother's amusement, while Pantherpelt let out a purr or two to their antics. Others weren't quite as amused however, Clawpaw had ran forward to avoid hearing the two talk, though Whitepaw could've sworn that he heard him chuckle before passing, while Brownfur simply let out some annoyed grumbles. "Hey, just making sure you do!" Oakpaw said in his defense, bumping shoulders with the white-furred apprentice. "At least we're going early, so we'll have some time to actually chat with the other apprentices before needing to get back to our side." With that sentence, Darkclan finally arrived at the Gathering, passing through some bushes into the open area, a hare gnawing on some flowers noticing the group and instantly bolting away. Whitepaw was half tempted to give chase, but as per Gathering rules, there were to be no hunting on the grounds. "Great..." Redstar's groan caught Whitepaw's attention, and turning his head, he noticed that the rabbit had bolted in the open moor where Swiftclan resided... and there was Swiftclan, led by Mountainstar. Their group of cats halted once in the area surrounded by forestry, and right away, their leader locked eyes with Darkclan's. Moments passed, and the tabby-spotted tom walked over, sitting down by the four stones in the center, tongue digging the grass out from between his paws. Things got rather awkward quickly, most of each clan sticking away from each other, though some hisses and growls were exchanged between the warriors. No doubt they hadn't forgotten what had occurred just days ago, when Darkclan invaded Swiftclan's camp in an attempt to vanquish them, only for things to go poorly and they were forced into a retreat. The act of invading another clan's camp was cowardly and against the Warrior Code, but not only that, but they had killed their deputy, Elkheart. While Whitepaw was just trying to save his mentor from being killed by her, he still couldn't help but feel guilty over the matter, having blinded her and leaving her defenseless to the attack of Dogface's. "Well... let's go talk to 'em." Oakpaw whispered to Whitepaw, who let out a snort and stretched his haunches, legs a bit sore from all the walking it took to get here. But that green gaze remained on him, not a twinkle of sarcasm or amusement in his eyes and he soon realized that he wasn't joking. "Are you serious? They'd tear us up!" The leader's son protested, only for the brown-furred tom to remain still. "At a Gathering? I don't think so. Plus it's not like Forestclan or Clawclan are going to show up anytime soon, so we might as well try." A grunt escaped Whitepaw's muzzle, but eventually, he stood up fully and nodded, walking beside his friend over towards a group of smaller cats. The apprentice instantly recognized the wide body of Groundpaw among them, who glanced up from the chatting group to eye the two cats approaching them. Those gleaming yellow eyes narrowed down suspiciously, but not with much caution. Among them were also a black and white she-cat, a long-legged brown tabby and a calico she-cat that Whitepaw recognized from the border battle as Eelpaw. "What are you two up to?" Groundpaw's voice alerted the others of the Darkclan's apprentices, who turned their heads to meet the two. "We just wanted to chat, Groundpaw. I.. know that you don't quite like us right now, but maybe-" Oakpaw began to speak, staying strong in the face of four cats who clearly did want to see him right now. However, the growl of one of the apprentices cut him off and the dusty brown tom stepped forward between the five. "It's Groundrunner now. Helping running you invaders off helped get me that title." The newly crowned warrior spoke, locking eyes with Oakpaw. "Secondly, your clan invaded our camp, wounded us-" The tom lifted up one of his forelegs to reveal a tuft of fur missing underneath, a scar in its place. "-and even killed our own deputy. Elkheart was a great cat, she was even my mentor, and I wouldn't be nearly the cat I was without her. Not only me, but the rest of the clan." Whitepaw gulped, ears flattening and shoulders slumping at the mention of the deputy, but he kept his mouth shut as the newly named Groundrunner kept speaking. "I even recognize you two from the border... just before we were attacked. I've not been around long enough to know what you and your clan is about, but the point is, we're here just want to enjoy ourselves. This is my first Gathering as a warrior, Longpaw's and Grasspaw's first Gathering as apprentices and Eelpaw has a big announcement once all the clans are here." Oakpaw himself looked guilty from the glint in his green eyes, but he kept a firm stance and kept his gaze on Groundrunner. "Well... in any other case, I'd congratulate you, but obviously you don't want that. So.. at least from me, I'm sorry for what's happened." He meowed with a sad smile, turning to Whitepaw who nodded up in agreement before letting himself get brushed away from the Swiftclan cats, already whispering about the encounter while the two apprentices made their way back over to the Darkclan cats. "Well that sucked." Whitepaw sighed, Oakpaw nodding in agreement while Clawpaw stepped forward, shaking his head. "Now why did you think that THAT was a good idea?" The brown and black tom asked, and for once, the white furred apprentice couldn't disagree. Of course Swiftclan cats weren't going to want to talk to Darkclan cats in a casual setting. "I thought maybe we could apologize to them and they'd at least... tolerate us? Show that we aren't the meanies that they think we are?" Oakpaw shook his head, stepping forward for a shoulder rub with his brother, who instead took a step back. "We don't have anything to apologize for. They went onto OUR territory first, remember?" Clawpaw insisted, narrowing his eyes. "We didn't force them out of their camp, but we sent a big enough statement to make sure they don't try it again. That's just more lives they're risking." Whitepaw couldn't help but roll his eyes. Even though the obnoxious apprentice had a point, he went about it in such a... aggravating way. "And we aren't risking anything by invading their territory in return? Rainstorm is dead, Clawpaw. I nearly died during that battle! If you weren't there.." Oakpaw slowly trailed off, looking again to his brother for comfort, but being declined once again. "But you didn't! And if any cat tries that again, I'll rip them in two, I promise." "But what if you aren't there next time? What if you're assigned to stay in camp while I go and attack a patrol because one of their cats decided to take a mouse from us? What then?" Oakpaw seemed almost desperate in how he spoke to Clawpaw, and Whitepaw couldn't help but feel bad for him. He was trying to get sympathy, some sort of empathy out of his kin, but they just... refused. He was turning into a Dogface or a Burrclaw. Battle first, feeling later. The shaking of some bushes caused Whitepaw to raise his head up to see the pretty tortoiseshell coat of Cloverstar leading Forestclan into the Gathering area. Perfect. "Come on, Oakpaw. Forestclan is here." Oakpaw needed a distraction, and, well, he DID want to talk to the other clans' apprentices while they were here. White fur pressed against brown, Whitepaw lead the apprentice away, giving Clawpaw a final glare before turning his head to focus on the new group of cats that arrived. "Don't let him get to you, he's just a mousebrain." "He isn't, that's what's frustrating. He should know that this isn't the way to go... right?" Oakpaw sighed, welcoming the feeling of his friend's fur on him. "Hey, maybe we're the mousebrains, who knows? Right now, let's just focus on meeting some apprentices and having a good time." Whitepaw insisted, and his companion just nodded solemnly. And it was a good time, relatively. Oakpaw's spirits raised quickly chatting it up with Dirtypaw of Forestclan, while Whitepaw inquired about Splashkit to Cloudear, happy to learn that his adopted daughter was doing great, almost ready to become an apprentice and having enough energy to tire out a bear. Quickpaw, Forestclan's only other apprentice, hadn't been able to make the Gathering, so speaking with a warrior instead was alright, Cloudear being kind enough to tolerate the apprentice. Eventually, Clawclan arrived, which meant there wasn't much time before the four leaders assembled and called the clans together. "You know, Dirtypaw... he's kinda cute." Oakpaw chuckled while speed-walking over towards Clawclan, Whitepaw following and eventually taking the 'lead'. "Really? But he's literally called Dirty!" He responded with an amused purr, to which the apprentice nodded his head. "Mhm, and Blazesong was belly deep in mud from her last patrol around the lake, but I didn't see you complain!" "We're comparing Dirtypaw to Blazesong now?" "Why not?" Whitepaw just snorted and shook his head, eventually reaching the Clawclan group and being able to recognize a few cats from them. Snarl-Lip, Tanstripe and Smallpaw, all three from his patrol by the lake in which he learned about Ratstar, who was killed by rogues at that border. Along with them was a bright orange tabby tom, a yellowish she-cat, a black tom with white stripes and a dark gray she-cat with bright green eyes. "Hey, don't worry, I think you're cute too." Oakpaw then whispered teasingly, before bounding over to introduce himself to the gray and white apprentice. Whitepaw, at first was amused, and then slowly realized that... maybe he was serious? He just thought that he called Dirtypaw cute for the joke of it because of his name, but now? Well, he wasn't too sure. The concept of a tom liking other toms was new to him, but not necessarily bad or anything. Maybe I'll talk to him later about it. For now, rather than question his friend's tastes, he stepped forward to also greet Smallpaw, noticing a fang jutting out of his mouth, as sharp as a claw. He was called 'Smallpaw' for a reason, given how he could still pass for a kit, but he wasn't about to say anything about that. "So you're Whitepaw, the underaged apprentice?" Was the first thing that Whitepaw heard the Clawclan cat say to him. Well, so much for respect. "You're one to talk with those legs, you look ready to curl up with Antheart right now." Oakpaw chuckled, taking the direct approach rather than Whitepaw, who was trying to think of a more... subtler way of putting it. And instead of being angry or annoyed, the apprentice just shrugged it off. "Got me there, I do miss the early rest times and the body warmth. But I could still kick your flank, Oakpaw." Smallpaw playfully growled to the Darkclan tom, who responded with a swish of his tail. "But you know what I mean. Sandpelt, or Sandpaw as you knew him from your last time, said that a Forestclan cat said you were too young to become an apprentice." He continued, to which Whitepaw shook his head. It was true, but he wasn't about to tell Clawclan cats that. "And you believed him? That cat probably had too much smell of oak in his head to think clearly. All those trees can't be good for you." He defended himself, trying his best to look cool and confident about it, though also turning around to make sure the cat in question, Cloudear, didn't actually hear what he said. Smallpaw just shrugged in response, "Hey, I'm not taking any sides, I'm just asking." He meowed, glancing up towards the large stones and purring. "Uh oh, looks like you better hurry your way back." Turning, Whitepaw's eyes widened. Redstar, Mountainstar, Fishstar and Cloverstar were all each on their stones, and it seemed that they were exchanging a bit of idle talk before calling the clans together. "Move, move, move!" Oakpaw told Whitepaw, shoving him forward over towards Darkclan's group, to which he happily moved forward, practically sprinting his way over. "Clans, gather!" Cloverstar's call happened just as Whitepaw skidded and halted behind Blackcloud, Oakpaw soon following him, sitting on his haunches. "Proud of you." The warrior turned back to tell the white-furred apprentice, who just nodded his head, looking eagerly up towards the leaders in anticipation. He just caught the gaze of Redstar who had picked him out of the crowd and nodded his head towards his son with a smile. "Thank you all for making it to this Gathering." Cloverstar spoke loud, addressing the four clans while standing up straight. "Mountainstar has declared himself to be the first to tell you how Swiftclan is doing, promising big announcements to the rest of us. Mountainstar.." The tortoiseshell she-cat then stood back, nodding her head towards the slim tom, who then stepped forward. That anticipation soon turned to anxiety, having forgotten about the Swiftclan conflict for the brief time he and Oakpaw took talking to the other clans, and now, that glint in Mountainstar's eyes... there was no way he didn't tell the rest of them the truth now. "Thank you, Cloverstar. Firstly, I would like to apologize to you all. Apologize for my dishonesty in how I addressed you before and the lies that I told in order to try and protect my clan." The tabby-patched tom began his speech, claws dug into the stone and his voice unwavering. "Moons ago, I said that a border patrol of ours was attacked by rogues. That was a lie. Instead, it was Darkclan that had attacked that patrol." Murmers broke out in Swiftclan and Clawclan, as well as the feeling of eyes being put directly onto the Darkclan group. Whitepaw's clanmates themselves were quiet, while Swiftclan kept mostly quiet too, seemingly knowing just what their leader was going to tell everyone. "In an act of peace, and what others may see as an act of cowardice, I lied about this encounter, in hope that further attacks wouldn't occur. I told my clanmates to not act in any sort of revenge towards Darkclan, and while some of my clanmates disliked this, I know it that they listened to my word." "That's a lie!" Clawpaw shouted out, which only prompted more reaction out of the other clans, to which Whitepaw couldn't help but hunch his body down between his shoulders, ears flattened to his head. Really had to shout that out, huh? "You know we never touched your side of the border!" The large gray she-cat by the name of Steelfur yelled out in retaliation, seemingly half-ready to pounce into the crowd of Darkclan cats to shut up the apprentice. And just looking at Clawpaw, he seemed eager for a scrap, because of course he was. "My warriors said otherwise, Mountainstar. My own examination confirmed that your cats had crossed the border." Redstar finally spoke up, his voice just a pitch quieter than Whitepaw was used to do. "Or perhaps you just smelt what you wanted to do. Everyone here knows that you aren't shy when sending your warriors to battle, I'm sure your own cats would admit such." With that last statement, the apprentice glanced over towards Pantherpelt, who he recalled speaking of the harshness of living in Darkclan previously. The dark blue tabby however didn't show any emotion from the sentence, orange gaze firmly on the Swiftclan leader. "But moving on, this is an act that you can't deny. Just days ago, my clan awoke to a frail elder in our camp. Rainstorm was her name. She looked lost, afraid.. in need of help. And I was ready to provide such until the wind alerted us of... others. Practically all of Darkclan were ready and waiting and swarmed our camp." Mountainstar continued, his last words enticed shock out of the two other clans, as it should. An ambush on another's camp was just plain wrong, no matter how you tried to spin it, and the hisses and growls that came from Swiftclan's side was justified. That didn't mean that Whitepaw had to like it. "An attack on our own camp. Such a frail elder such as Rainstorm never stood a chance, and was killed in the beginnings of the battle. Only a coward would've put her in the center of it all, and I feel nothing but grief for her, dying like that. Not only were our warriors and apprentices attacked, but also our own elders, our queens and even our kits. Windkit is proof of this, having his tail torn from her body by Darkclan warriors while his mother could do nothing but watch. He is now called Tornkit, as a reminder to us of the cruelty that we had faced that day." Tornkit...? Whitepaw shuddered at the name, surely to become 'Torntail' when he was older. The mention of the attacks on the kits near caused an outrage between the clans, the matter turning so close to conflict that the apprentice could almost feel the bits of saliva fall onto his fur from the hissing Swiftclan was doing. "And in the end... I'm sure you all have noticed that my deputy, Elkheart isn't here. That is unfortunately because she too, was killed in this. She died defending the nursery from the savages attacking it, even with the wounds that she had endured in the border ambush. She was a proud and noble warrior and would've made a fine leader when it came time. Thundertail shall take her place as deputy, though nothing will be able to replace what Elkheart brought to Swiftclan." The hissing briefly stopped as Swiftclan cats lowered their heads to grieve their fallen deputy, and Whitepaw couldn't help but do the same. Elkheart.. Starclan, whoever's up there.. please forgive me. The feeling of fur pressing against his flank led him to look up however and notice Oakpaw keeping close to him in comfort. Did he even know why he was so upset? Regardless, he welcomed the closeness, needing it right now in the face of scrutiny. "Thankfully, we were able to drive Darkclan out of their camp with no more fatalities, and in the wake of this cowardly attack, I was able to crown ourselves a new warrior for their exceptional bravery in such conflict. Groundpaw, without him, there may have been more lives lost, and I couldn't be more thankful and proud of him. From now on, he shall be known as Groundrunner." The Swiftclan leader continued, the announcement of the new warrior earning brief cheers, though most were still in shock about the news of the ambush. "Along with him, we are preparing for the worst, another attack, and thus.. against the Warrior's Code, we have two new apprentices, both under six moons in Longpaw and Grasspaw. Steelfur and Elderclaw will mentor them respectively." There was a bit more shock there over the Warrior's Code being broken, but obviously, Swiftclan was getting more sympathy than outrage over this decision. They have every right to be cautious... plus it wasn't like they were the only apprentices who were under six moons at one point. "Finally in news of ranks, Eelpaw has diverged from her warrior training and is now under mentorship to both Rockshade and Ravencall. She showed great promise in the aftermath of the battle, helping our two stressed medicine cats in helping our injured cats, and when asked, she happily accepted this opportunity." So that's the big announcement. Whitepaw thought, unable to bring himself to look over towards the calico she-cat to see her reaction to it all, only knowing that she looked nervous during his only experience seeing her in combat. But even then, that was against Burrclaw, the nastiest she-cat in the clans, everyone flinched on occasion when she looked their way. "And with that, I would like to say that while wounded, our clan is still strong, our medical supply had dwindled, but we should be able to restock it for winter. Our warriors will be ready for any attacks, and anyone of those that do decide to attack us will see that for themselves." Finally Mountainstar wrapped up his speech, stepping back and sitting down, leaving the clans and even the leaders stunned at his words. Cloverstar looked over towards Redstar, who met the gaze head-on, but it was difficult to tell just what emotion was in the two's eyes. And just glancing around, the aggression had slowly dwindled down, but the burning distrust in the other cats towards Darkclan was unmistakable, and honestly, it really sucked. "I.. well Clawclan would like to start by saying that we are deeply sorry to Swiftclan for the casualty of Elkheart and to Wind.. Tornkit and his mother. We would be happy to donate prey, medicine or fortification to them if Mountainstar would allow such?" Fishstar stepped up to talk, glancing towards the Swiftclan leader after his last statement, who nodded his head. "That would be very kind of you, Fishstar." The young leader then returned the nod before facing back towards the clans, "Now, onto Clawclan, we have been doing great as of late. Prey has been prosperous, our younglings are growing strong and we have welcomed new life in the clan. Queen Frostflower has given birth to two bright kits, named Squirrelkit and Spottedkit!" Clawclan of course was proud of that announcement, and while others cheered, it was clear that emotions weren't very positive after the previous announcement. "Not only that, but we've got two new warriors that have passed their tests and shown that they were more than ready for the upgrade. Sandpaw shall now be known as Sandpelt, while Dustpaw will now be known as Dustcloud. Those who wish to test Clawclan will see for themselves how far they've come and how we're only becoming stronger by the day." Fishstar wrapped things up, light blue eyes looking towards Redstar, no doubt telling him that they'd be ready if they were the next victims of an attack. And the black tom responded with a firm look of his own. Even in the face of adversity, Redstar wasn't about to show that he was shook. The rest of the Gathering went by without anymore drama. Cloverstar shared the passing of elder Bluesky, as well as news of plentiful prey and that Mossyfur's litter of kits were about ready to become apprentices. Redstar didn't share much, only stating that the badgers were still present in their territory, reiterating the passing of Rainstorm, as well as mentioning Ocelotfur and Blazesong becoming warriors. Warriors being announced were usually cheered, but there was barely a peep among anyone this time... thankfully neither of the two were there to witness it, something that Redstar probably saw coming and saved them the embarrassment. Once he was done, Darkclan couldn't leave quicker, rushing out and back to camp. Whitepaw kept close to Oakpaw, thankful for his presence, even if he could feel that the tom wasn't in very high spirits himself. Then again, neither was anyone else. Having everyone get told that your clan was horrid and a group of ambushers... it sucked for morale, but... there was always tomorrow, even if he wanted to just do nothing but sleep....
#warriors#warriorcats#warrior cats#fanfiction#fanfic#warriorsfanfic#warrior cats fanfic#warriorcatsfanfic
5 notes
·
View notes
Text
Skew a pseudo-random number generator to usually return numbers in the middle of the given range?
New Post has been published on https://gamedevnexus.000webhostapp.com/2019/08/skew-a-pseudo-random-number-generator-to-usually-return-numbers-in-the-middle-of-the-given-range
Skew a pseudo-random number generator to usually return numbers in the middle of the given range?
Make the random number in the range [0,1]. Map it to the distribution using a function like smoothstep. Scale by your max value of 1000. Instead smoothstep you could use something that allowas precise tuning, like this gain function: float gain(float x, float k) {
Read full article here -> https://gamedevnexus.000webhostapp.com/2019/08/skew-a-pseudo-random-number-generator-to-usually-return-numbers-in-the-middle-of-the-given-range
1 note
·
View note
Video
vimeo
The Mathematics of Perception from Kazik Pogoda on Vimeo.
Your unique version of this system mintable on fx(hash):
fxhash.xyz/generative/slu...
Music composed by Julie Amouzegar, one of my favorite human beings ever, who supported me in the whole process:
soundcloud.com/julie-amouzegar
This generative system, called The Mathematics of Perception, emerged from a series of thought experiments. Our xemantic collective applies philosophy to facts about the world.
xemantic.com
The physics behind sensory experience is already deeply researched. But what makes certain experiences evoke certain feelings and affectionate states in the broader sense? I want to evoke emotions with algorithms. This research is needed for bigger immersive installations, using certain aesthetics for telling various narratives. However I am not a video artist, I don't cut and transform existing frames. I synthesize them with equations. The process can be described as sculpting in light and time with math.
Generating video-experience, which is perceptually pleasant, usually involves 3D modeling. There is no 3D per se involved in this system, not even so called ray marching. It represents an optical illusion of infinitive space coded as a single GLSL fragment shader.
As generative art is highly conceptual, here is the minimal form of the math formula defining everything you see:
precision highp float;uniform vec2 k,l;uniform float m,n,h,v,w,x,o,y,e,p,z,q,r,A,B;mat2 s(in float a){return mat2(cos(a),-sin(a),sin(a),cos(a));}float f(in vec2 a,in float b,in float c){vec2 d=mod(a,1.)*2.-1.;float g=length(d);return smoothstep(b+c,b-c,g);}void main(){vec2 b=(2.*gl_FragCoord.xy-k)/m;vec3 t=vec3(0);float j=o;vec2 d=b*n;d*=s(v);for(int g=0;g
0 notes
Text
Doawnload all udemy courses For free GLOBALTEACHONLINE.COM What you'll learn Learn practical mathematics for games: Dot product, linear interpolation, 2D rotation and moreSee each function in two environments: Material (shader) nodes & Blueprint visual scriptingImplement crucial techniques for graphics development: Directional mask by normal, advanced interpolation, value range compression, time-based noiseEveryday examples: procedural snow layer, ghost material, RGB desaturation, flickering lightbulb, sin for UV rotationThis tutorial series covers the essential math for game art. It's full of practical solutions for material nodes & procedural generation (Construction Script). I took the most popular use cases that I've encountered as a Lead Technical Artist in games. Finishing the course will give you practical experience for the games industry.Material and Blueprint nodes are explained through popular examples, which you're likely to encounter in everyday tasks. Whether you're a programmer, an artist or a tech artist in need for a recap - you will find a useful tip for sure!I divided the topics into concise, 10 to 20-minute long tutorials. They're brief and packed with knowledge, coming from over a decade of my experience in game development. Learn how to use dot product in Unreal materials. Create a ghost effect, procedural snow layer, fake directional lighting and a silhouette glow.Learn how to mix values, blend textures and interpolate object transforms with lerp.Use sine for a pulsing material, wave masks and a flickering light with emissive glow. Learn how to animate material and light color over time - in sync with Blueprint.Rotate UV maps or any 2D vectors with sine and cosine. Use sine for a flickering light in Blueprint, with animated material and synchronized light color. Learn about performance cost of sin/cos nodes. Are they worth replacing with smoothstep (Hermite) approximation?I've run a Tech Art Aid education project since May 2016. It started a YouTube channel, after which I added Twitch livestreams & a Discord server. Now it's a community which enjoy spending time together, sharing knowledge. This course is the same quality but tightly edited, to make the maximum out of your time.Good luck with mastering the fundamentals of game art math!Who this course is for:Artists or programmers, who want a solid foundation in math nodes for everyday tasks
0 notes
Text
Postprocessing with the Depth Buffer
In the last tutorial I explained how to do very simple postprocessing effects. One important tool to do more advanced effects is access to the depth buffer. It’s a texture in which the distance of pixels from the camera is saved in.
To understand how postprocessing effects with access to the depth buffer work it’s best to understand how postprocessing works in general in unity. I have a tutorial on that here: https://ronja-tutorials.tumblr.com/post/175172770247/postprocessing
We will start this with the files we made in the simple postprocessing tutorial and go from there.
The first thing we expand is the C# script which inserts our material into the rendering pipeline. We will expand it so when it starts up it will look for the camera on the same gameobject as itself and tell it to generate a depth buffer for us to use. This is done via the depthtexture mode flags. We could just set it to render the depth buffer, but what we’re going to do is take the existing value and take a bit-or with the flag we want to set, this way we don’t overwrite the flags other scripts might set to render their own effects. (you can read up on bitmasks if you’re curious how that works)
That’s already everything we have to change on the C# side to get access to the depth texture, so we can now start writing our shader.
We get access to the depth texture by creating a new texture sampler which we call _CameraDepthTexture. We can read from the sampler like any other texture, so we can just do that and look at how the depth texture looks like. Because the depth is just a single value, it’s only saved in the red value of the texture and the other color channels are empty so we just take the red value.
After doing this and starting the game, chances are high that the game looks mostly black. That’s because the depth isn’t encoded linearly, the distances closer to the camera are more precise than the ones further away because that’s where more precision is needed. If we put the camera very close to objects we should still be able to see some brighter color, indicating that the object is close to the camera. (if you still see black/mostly black when putting the camera close to objects and would like to, try increasing your near clipping distance)
To make this more usable for ourselves we have to decode the depth. Luckily unity provides a method for us that takes the depth as we have it now and returns the linear depth between 0 and 1, 0 being in the camera and 1 being at the far clipping plane. (if your image is mostly black with a white skybox here, you can try to lower the far clipping plane of your camera to see more shades)
The next step is to completely decouple the depth we have from the camera settings so we can change them again without changing the results of our effects. We archieve that by simply multiplying the linear depth we have now with the distance of the far clipping plane. The near and far clipping planes are provided to us by unity via the projectionparams variable, the far clipping plane is in the z component.
Because most objects are further away than 1 unit from the camera, the image will be primarily white again, but we now have a value we can use that’s independent of the clipping planes of the camera and in a unit of measurement we can understand (unity units).
Next I’m going to show you how to use this information to make a wave effect that seemingly wanders through the world, away from the player. We will be able to customize the distance from the player the wave has at the moment, the length of the trail of the wave, and the color of the wave. So the first step we take is to add those variables to the properties and as variables to our shader. We use the header attribute here to write wave in bold letters over the part with variables for the wave in the inspector, it doesn’t change the functionality of the shader at all.
The wave example will have a hard cut at it’s front end and a smooth tail behind that. We start by making a hard cut based on the distance. For this we use the step function which returns 0 if the second value is greater or 1 otherwise.
Then to define the trail we use a smoothstep function which is similar to the step function, except we can define two values to compare the third value to, if the third value is less than the first, the function returns 0, if it’s bigger than the second it returns 1, other values return values between 0 and 1. I like to imagine it like a inverse linear interpolation because you can take the result of the smoothstep and put it into a lerp with the same minimum and maximum values as the smoothstep to get the value of teh third argument.
In this case the value we want to compare to is the depth, our maximum is the wave distance and the minimum is the wave distance minus the trail length.
You might notive that the front and the trail of the wave are opposite, it would be easy to fix that (flip the two arguments of the clip or flip the min orthe max of the smoothstep), but in this case it’s on purpose. Because if we multiply any number by zero it becomes zero, we can now multiply the front and the trail of the wave and it will become zero in front and behind the wave with only a small white wave in the middle at our defined distance.
Now that we have defined our wave, we can bring back color to the image. For that we first have to sample our source image again and then we do a linear interpolation from the source image to our wave color based on the wave parameter we just calculated.
As you can see we have a artefact with this approach when the distance reaches the far clipping plane. Even though the skybox is technically at the distance of the far clipping plane, we don’t want to show the wave when it reaches it.
To fix this we read the source color just after we calculate the depth and return it instantly if the depth is at the far clipping plane.
One last thing I’d like to do is expand the C# script to automatically set the distance for us and make it slowly go away from the player. I’d like to control the speed the wave travels and if the wave is active. Also we have to remember the current distance of the wave. For all of that we add a few new class variables to our script.
Then we add the update method which is called by unity automatically every frame. In it we increase the distance of the wave if it’S active and set it to zero when it isn’t, this way the wave is reset and comes from the player every time we enable it again.
And then to use the wavedistance variable in our shader we set it. We do the setting in the OnRenderImage just before the method is used, that way we can make sure that when it’s used it’s set to the correct value.
You can also find the source code for this tutorial here: https://github.com/axoila/ShaderTutorials/blob/master/Assets/16_DepthPostprocessing/DepthPostprocessing.cs https://github.com/axoila/ShaderTutorials/blob/master/Assets/16_DepthPostprocessing/16_DepthPostprocessing.shader
I hope I was able to explain how to use the depth buffer for postprocessing effects and you’ll be able to make your own effects now.
If you have any questions feel free to contact me here on tumblr or on twitter @axoila.
7 notes
·
View notes
Photo
20220401
Niagara Function Script でSmoothstep 作ってみる
Niagara の Scratchpad でよく使う組み合わせは、 関数作っておくと良いみたい。 マテリアル関数的なやつ
0 notes