Discuss Scratch

gonnkirua3
Scratcher
27 posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

3Dの登っている様子を作りたいのですがどうすればいいですか?
使いたいゲームのURL https://scratch.mit.edu/projects/458200955/
KimiruHamiru
New to Scratch
500+ posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

gonnkirua3 wrote:

3Dの登っている様子を作りたいのですがどうすればいいですか?
使いたいゲームのURL https://scratch.mit.edu/projects/458200955/
3Dっぽさの基本は「近いものは大きく見える」だと思うので、

「岩のデコボコ」が画面下に流れていく部分で
大きさを((大きさ)*(1.01))% にする
みたいなことをすると、「3Dの登っている様子」のイメージに近いかなと思います。
その動きに合わせた背景を描くと、結構それっぽくなると思います。

そういう考え方で作ったのがこれ
https://scratch.mit.edu/projects/571091320
です。下のほうだけ切り取って見ると近いイメージになると思います。

「*1.01」よりも、もうちょっとガチ目な計算をするならこっち
https://scratch.mit.edu/projects/639695894
とか
https://scratch.mit.edu/projects/408575719/
が参考になるかも知れません。

y座標の変化の仕方(下に来るほど大きく速く動くはず)とか、落ちてくる岩の大きさや転がり方の考え方も変えると、よりリアルな感じになると思います。
ただ、ゲームの場合、リアルさとか正確な計算とかよりは、
かっこよさとか気持ちよさとか遊びやすさとかが重要かなと思います。

Last edited by KimiruHamiru (March 15, 2022 15:11:33)

melon-budou
Scratcher
28 posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

簡単なのでいいので3Dって具体的にどのように作ればいいのでしょうか…

名前は知らないけどとりあえずこれ見て
よろ
when this sprite clicked
forever
broadcast [感謝を送る v]
end
StrongPeanut
Scratcher
1000+ posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

#63
Wiki にこんなページがあるので参考にしてみてください。

やぁ、低浮上ラグビー部だよ.
みんなで日本代表を応援しよう!
KimiruHamiru
New to Scratch
500+ posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

melon-budou wrote:

簡単なのでいいので3Dって具体的にどのように作ればいいのでしょうか…
「パララックス(parallax)」辺りのキーワード
で探してみると簡単なプロジェクト例が見つかるかも、と思います。
「パララックスなんて3Dじゃない!」と考える人もいると思いますが、演算精度がゆるいことを除けば、パララックスも充分3Dです。

あと、「このトピック自体」にいろいろ参考になる情報は、かなりまとまってるはずです。
まだ4ページほどしかないので、全部読んでみても良いかも知れません。難しい話もあると思いますが、簡単な話もあると思います。

その上で、あらためて、

3Dの基本とは、
・遠いものは小さく見える
・遠いものは小さく動く
「だけ」

と言ってもよいです。

「ネコが表示されている画面」で、
50%の大きさ」のネコをその隣に表示した場合、
「50%の大きさのネコ」は遠くにいるように感じる、あるいは読み取れるはずです。
1m先にいる猫は、2m先にいれば50%の大きさに見えます。
1m先にいる猫は、3m先にいれば33.3…%の大きさに見えます。
正確に計算するとよりよいですが、かなりゆるい計算でも、あるいは計算しなくても、
なんとなーく「これとこれは同じ大きさなはず!」と人間が予想できる絵であれば、人間の目は充分錯覚します。

「ネコが横に動く画面」で「50%の大きさのネコ」を
50%の速度」で動かした場合、
「50%の大きさのネコ」は遠くで動いているように感じる、あるいは読み取れるはずです。
これは、電車の窓から外を眺めている時、「近くの電柱」は「すごいスピード」で動くように見えるのと同じです。

あとは、「大きさを変える、動かす」で、どう見せるとかっこいいか、どう見せるとリアルっぽいか、という話です。

私の考えで言えば、ScratchWikiの記述は激ムズです。
「時間をかければ一般常識から組み立てて自力でたどり着ける程度の知識を既に持っている人」でなければ、「テキストを読んで」理解するのは難しいと思います(コードを丸写しして動かせるようであれば、「コードを読んで」そこから理解を進めることはできると思いますが、それであるなら、既に動いているScratchのプロジェクトを探して読み込むのと大差ないです)。
KimiruHamiru
New to Scratch
500+ posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

「スプライトを好きな場所に動かせる、スプライトの大きさを変えられる」というのは普通にできるでしょうか。
例えば、こんなコード
@greenFlagがクリックされたとき
<>まで繰り返す
[元の大きさ v]を(100)にする
[x v]を(マウスのx座標)にする
[y v]を(マウスのy座標)にする
end
@greenFlagがクリックされたとき
<>まで繰り返す
大きさを(元の大きさ) % にする
x座標を(x)、y座標を(y)にする
end
は動かせて、意味は分かるでしょうか。


ここに上の説明のような3Dの仕組みを取り入れるなら、
@greenFlagがクリックされたとき
<>まで繰り返す
[元の大きさ v]を(100)にする
[x v]を(マウスのx座標)にする
[y v]を(マウスのy座標)にする
end
@greenFlagがクリックされたとき
<>まで繰り返す
大きさを((元の大きさ)/(1)) % にする
x座標を((x)/(1))、y座標を((y)/(1))にする
end
@greenFlagがクリックされたとき // これは別スプライトのコード
<>まで繰り返す
大きさを((元の大きさ)/(2)) % にする
x座標を((x)/(2))、y座標を((y)/(2))にする
end
みたいな形になります。1とか2とかが「とおさ」です。遠くの物は小さく見えて、小さく動きます。

とりあえず上のコードみたいなのを動かしてみて「なんか3Dに見える!」と感じたら、
・どうコードを書くとどう見えるのか、どう感じるのか
とかをまずは試して改造したりしてみるのがいいと思います。
いろいろ作りこんでいくと「どんどん読みにくく、コードが多くなって、処理が重くなっていく」と思いますが、そこまで進んだら
・すでにあるプロジェクトでは、「複雑さ」とか「速度」にどう対応しているのか考える
とかいった方向に進むのがいいかなと思います。

Last edited by KimiruHamiru (April 9, 2022 22:23:07)

StrongPeanut
Scratcher
1000+ posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

思いっきり平面ですが、3D っぽく見えるものを作っています。
Beautiful Ballシリーズです。
なぜ3Dのように見えるかというと、玉によってスピードが速かったり遅かったりします。
これで一定 3D らしきものは作れます。

やぁ、低浮上ラグビー部だよ.
みんなで日本代表を応援しよう!
udontoomotitoscratch
Scratcher
100+ posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

3Dトピ作ろうとしてたらあったのか…気づかなかった..

みなさんこんにちは!みなさんはここで何かを質問したいときは、質問コーナーで質問していますよね。
でも他にも様々な専用トピックがありそこで質問すれば質問コーナーを長く使えます!
ここでは、代表的な例を紹介していきます!
著作権議論トピ  利用規約議論トピ  ターボワープ議論トピ  音楽の駅  スタジオ議論トピ  変数研究所  演算議論トピ     3D議論トピ  クローン議論トピ  クラウド議論トピ  数学議論トピ  ラズパイトピ
100%pen議論トピ  翻訳相談所  wiki専用トピ  スクロール議論トピ
melon-budou
Scratcher
28 posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

@KimiruHamiru
最初の文がものすごく参考になりました!!
特に「遠くにあるものは小さく動く」が(プログラミングの本でやったのに…)思いつきませんでした…
ありがとうございます!

名前は知らないけどとりあえずこれ見て
よろ
when this sprite clicked
forever
broadcast [感謝を送る v]
end
sansuu-daisuki1217
Scratcher
64 posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

3D無理…… xとyでもギリギリ

⚑ がクリックされたとき
ずっと
戸惑う
end

よろしく
まあintroが好きです^^
koudai1209
Scratcher
19 posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

自分もわかりません。でも、これを見ればできる!!すごいよ!!
3D
3D まとめて言うと
(x)
(y)
(z)
がいるよ!

これは署名です。
ディスカッションフォーラムの書き方(BBコード)↓

 ̰ ̰͇̰B̰͇̰B̰͇̰C̰͇̰o̰͇̰d̰͇̰ḛ͇̰の̰͇̰基̰͇̰本̰͇̰

͟ ͟͟͟文͟͟͟字͟͟͟列͟͟͟を͟͟͟扱͟͟͟う͟͟͟
[b]文字列[/b] 太字
[i]文字列[/i] 斜体
[u]文字列[/u] 下線
[s]文字列[/s] 取り消し線
[big]文字列[/big] 大きく(17px 通常は13px)[1]
[small]文字列[/small] 小さく(10px)[1]
[center]文字列[/center] 中央に表示

͟ ͟͟͟色͟͟͟を͟͟͟つ͟͟͟け͟͟͟る͟͟͟
[color=#888888]文字列[/color] 色をつける(16進数コード)
[color=red]文字列[/color] 色をつける(色名)

͟ ͟͟͟リ͟͟͟ン͟͟͟ク͟͟͟と͟͟͟画͟͟͟像͟͟͟
単純にURLを貼ってもリンクになるが、BBCodeを使うと表示文字列も自由にできる。New Scratcherは、Scratchウェブサイト外のリンクを貼ったり、
画像を挿入したりできない。(行うと、エラーになる)

リンク
[url=http://scratch.mit.edu/]リンク[/url] リンク
画像
[img]https://scratch.mit.edu/images/logo_sm.png[/img]
画像のリンクにはhttp:// または https:// を最初につけなければいけない。また、画像のホストの制限も適用され、限られたサイトの画像しか使え
ない。

                         by.scratch-wiki
























sansuu-daisuki1217
Scratcher
64 posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

3Dできません。解説求む

よろしく
まあintroが好きです^^
inoking
Scratcher
1000+ posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

Wiki に 3Dプロジェクトの基本 というものがあります。

これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
sansuu-daisuki1217
Scratcher
64 posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

inoking wrote:

Wiki に 3Dプロジェクトの基本 というものがあります。

それを読んだらバグだらけ…

よろしく
まあintroが好きです^^
sansuu-daisuki1217
Scratcher
64 posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

3Dintroも作りたい…

よろしく
まあintroが好きです^^
inoking
Scratcher
1000+ posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

sansuu-daisuki1217 wrote:

それを読んだらバグだらけ…
バグとは Wiki に書かれてあるとおりに作っても動かないということでしょうか?
であれば Japanese Scratch-Wiki専用トピック で知らせてあげてください。

これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
sansuu-daisuki1217
Scratcher
64 posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

inoking wrote:

sansuu-daisuki1217 wrote:

それを読んだらバグだらけ…
バグとは Wiki に書かれてあるとおりに作っても動かないということでしょうか?
であれば Japanese Scratch-Wiki専用トピック で知らせてあげてください。

そうでなく、3Dintroを作成すると、
大変なことになりました

よろしく
まあintroが好きです^^
inoking
Scratcher
1000+ posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

sansuu-daisuki1217 wrote:

そうでなく、3Dintroを作成すると、
大変なことになりました
それは sansuu-daisuki1217 さんの問題です。
がんばってください。

これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
sansuu-daisuki1217
Scratcher
64 posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

はい

よろしく
まあintroが好きです^^
KimiruHamiru
New to Scratch
500+ posts

3Dについて話し合うトピック ※最初に#1を必ず読もう※

sansuu-daisuki1217 wrote:

3Dできません。解説求む
画面上に表示されているものは、
・小さく表示すると「遠く」
・大きく表示すると「近く」
にあるように感じられます。

極論ですが
・それが3Dの全て
・それ以上のことは「かざり」
です(極論ですが)。
テキトウに大きくしたり小さくしたりしても「案外3Dっぽい」です。
(「許されるテキトウさ加減」は、見る人の感じ方次第です)


それ以上のこと=「かざり」として、
「3倍遠くにあるものは1/3の大きさで見える」みたいな仕組み、つまりは、

見る人から画面までの距離 ÷ (見る人から画面までの距離 + 画面から描くものまでの距離)

みたいな計算をすると、「かなりもっともらしい」です。
もっと言えば、「テキトウさ加減」を調整する美的センスが不要なので、ある意味簡単です。

「見る人から画面までの距離」を「480ピクセル」
「画面から描くものまでの距離」を「z座標」
と表現するなら、
480/(480+z座標)

ブロックで言えば
[x v]を(マウスのx座標)にする
[y v]を(マウスのy座標)にする
[z v]を(0)にする
[w v]を((480)/((480)+(z)))にする
大きさを((100)*(w))% にする
x座標を((x)*(w))、y座標を((y)*(w))にする
みたいになります。上のコードは、
「zはいつも0」つまり「描かれるものは全て画面と同じ奥行きにある」
としてるので、2Dです。
これの「zを0以外に」して「複数の物を描く」のが、「パララックス」の基礎になります。

zが変化するように、ひとひねりして、
@greenFlagがクリックされたとき
<>まで繰り返す
[x v]を(マウスのx座標)にする
[y v]を(0)にする
[z v]を(マウスのy座標)にする
[w v]を((480)/((480)+(z)))にする
大きさを((100)*(w))% にする
x座標を((x)*(w))、y座標を((y)*(w))にする
end
とかすると結構3Dっぽいと感じるかもと思います。
書き方や数字がちょっと違ってますが、
https://scratch.mit.edu/projects/570021949/
はこれを調整したものです。
ここまでくると「2Dでできることは3Dでもできる」、「2Dでできることを増やすと3Dが充実する」ようになると思います。

Powered by DjangoBB