8分でわかるレイトレーシング

Поділитися
Вставка
  • Опубліковано 5 вер 2024
  • 最近ゲームにも使われるようになってきたレイトレーシングを、0からプログラミングする動画です!
    📖 解説記事および勉強会はこちらからどうぞ↓
    heron-no-suuga...
    ■ライセンス等
    フリーBGM・音楽素材MusMus musmus.main.jp/

КОМЕНТАРІ • 124

  • @heron-no-suugaku
    @heron-no-suugaku  2 роки тому +1

    📖 勉強会のメンバーを募集中です!【8月13日まで】
    note.com/aosagiheron/membership
    Zoomミーティングで、数学&プログラミングを同時に楽しく学べます!
    現在、2名の方にご参加・ご好評をいただいております。🐤
    .

  • @maildeco9950
    @maildeco9950 2 роки тому +96

    レイトレーシング自作の動画初めて見たからマジで感動してる

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +8

      プログラムや数式と交えて解説してる動画、多分これだけですね💪

    • @user-wc6td4uz2i
      @user-wc6td4uz2i 2 роки тому +4

      ua-cam.com/video/4XeJEDuhyPs/v-deo.html
      こちらも参考になるかと思います(もちろんヘロンさんの動画もわかりやすく参考になります!)

  • @user-shiro-emiya
    @user-shiro-emiya 2 роки тому +45

    HSPで自作したことがありますが、洗練できなくてFHD吐かせると10〜15分かかっちゃいましたね…とてもコードが綺麗で良いですねぇ

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +13

      mes "HSP昔流行ってましたね💪"
      それよりもはるかに強力で書きやすい言語がwebブラウザで動く、いい時代になったものです

    • @FoxInFlame
      @FoxInFlame 2 роки тому +2

      自分はHaskellで自作したことがあるのですが、初めて書いたものでFHDの一フレーム現像になぜか45分ほどかかりました、、、アニメーションGIFを作ろうとしたのですが数十時間かかってました😅

  • @marx_d_24
    @marx_d_24 2 роки тому +7

    8分の動画とは思えない濃密な内容ですね。
    1度見ただけでは理解ができていない部分があるので再度見直します!

  • @kosetei1
    @kosetei1 2 роки тому +2

    よく見るレイトレはさらにそれぞれの物質も反射するから重さが半端ない。

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +1

      いずれは再帰的な反射やパストレーシングも扱いたいですね💪

  • @mayu_po_po_po
    @mayu_po_po_po 2 роки тому +2

    大学の授業でやったの思い出しました!こんな素敵なチャンネルがあったとは

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +1

      教授「レンダリング方程式気持ち良すぎだろ!」

  • @second4604
    @second4604 2 роки тому +25

    なんかすげぇ!
    こういった部分はゲームエンジンに任せてるところが多いので、内容を考えたことなかったです。

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +15

      描画はさすがにゲームエンジンに任せるとしても、敵AIを作る時とかに役立つかもしれません。鏡越しにプレイヤーを認識するとか💪

  • @user-tt1cq2fm3g
    @user-tt1cq2fm3g 2 роки тому +13

    高校でなんとなく学んだベクトルがCGに応用されてるの知ったときはおっp…おっぱげた…
    特に法線と内積使った反射計算は目から鱗がで…出ますよ…(ランバート反射)

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +4

      (線形代数が)いっぱいいっぱい正彦……(人違い)
      ランバートも扱いたかったけど、(前提知識の解説がめんどくさくて台本を)食べちゃいました……

    • @user-tt1cq2fm3g
      @user-tt1cq2fm3g 2 роки тому +1

      @@heron-no-suugaku 食べた!?まあ(1からのコーディングは)大概しないからね、しょうがないね

    • @kbtit_9315
      @kbtit_9315 4 місяці тому +1

      汚い人だと気づいて涙が)出ますよ

  • @user-ec6vb4lp6o
    @user-ec6vb4lp6o 2 роки тому

    CGやってると良く聞くしよく扱うけど、解説とか見るとこんな訳分からんのか。
    すげぇな。

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому

      この最も古典的かつ単純な手法ですらそこそこ大変という……😱

  • @umbertoeco1987
    @umbertoeco1987 2 роки тому +10

    Besides I can't understand anything in Japanese but I appreciate your programming skills.

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +2

      thank you! math makes code ellegenat.

    • @cmyk8964
      @cmyk8964 2 роки тому +2

      Don’t worry. I speak Japanese but I still don’t understand 70% of what he’s saying.

  • @energy-freeenergydrink7774
    @energy-freeenergydrink7774 2 роки тому +6

    POV-Rayの動画だろうと思ってみたら、まさかのゼロから自作だった

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +5

      ソフトを使って作品を作るのも良いですが、その裏にある理論を学ぶことも大切になってきていると感じたので💪

  • @user-ei8de8df1m
    @user-ei8de8df1m 2 роки тому +8

    すげえ…短いプログラムでこんなこともできるのか

  • @user-dy2vh6ki4l
    @user-dy2vh6ki4l 2 роки тому +3

    introデモシーンっぽいっすね
    最近GPU性能上がってレイトレース(レイマーチング)でリアルタイムにゴリゴリに反射させるの流行ってるし

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +1

      これを見栄えする感じにして4KBに収めればデモシーン出れますね(絶望)

  • @EM587
    @EM587 2 роки тому +7

    コードをちょっとずつ書いて、ちょっとずつできていく様子も見せてほしい

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому

      編集コストがデカいので常にとはいきませんが、たまには入れたいですね💪

  • @KIKI-zj4qt
    @KIKI-zj4qt 2 роки тому +2

    その昔
    これの静止画だけの画像を1,2週間ぶっ続けで計算した時代がありました。
    思えば8bitでも計算時間自体は掛かるけど、可能だった訳で、プログラムが短いのも納得。

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +1

      1週間はすごいですね💪
      今とはCPUクロックが3桁違う上に乗算をソフトウェアでやらざるを得なかったと考えると、確かにその位はかかりそうですね。

    • @KIKI-zj4qt
      @KIKI-zj4qt 2 роки тому +1

      @@heron-no-suugaku
      確か8bitでも6809は乗算命令があったような。
      激遅な命令でしたけどね。
      ちなみにレイトレデータは画面上では綺麗に表示できない時代だったので、
      作成したデータを対応している写真屋に持ち込んで印刷、までがセットです。
      完全に自己満足の世界でした・・

  • @jalanajasdo3
    @jalanajasdo3 2 роки тому +2

    3:58
    まずいですよっ!

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому

      チコリータ……
      ポッチャマ……
      デデキント……

  • @air-suk
    @air-suk 2 роки тому +7

    8分でわかる(わからない)

  • @katakohu_eq
    @katakohu_eq Рік тому +1

    × 8分で分かる
    ○ 8時間でも分からない

  • @yoppyzx
    @yoppyzx 2 роки тому

    素晴らしい

  • @maxiej7934
    @maxiej7934 2 роки тому

    凄すぎる

  • @nikki0210xx
    @nikki0210xx 2 роки тому +4

    中二ですがjavascript勉強中です。この動画の関数は1%しかわからなかったですが、それでもある程度のプログラムは組めますでしょうか?
    また、どうやって勉強しましたか?

    • @moroha10085
      @moroha10085 2 роки тому +2

      本人じゃないから主がどうやって勉強したとかはわからないけど、確実に言えるのはこれってめちゃくちゃ高校数学の積み重ねだからとにかく数学の勉強が大事だと思う。中学生だったら図形の問題ばっかりで何に役立つのかよくわからないこともあるけど、高校数学になると一気になんか使えそうなものが出てくる。中学数学はそのための土台だからめげずに今は数学をやっておくといいと思う。あと、この数学がどう使われてるのかとかを調べるようにしてもいいかもね。CGのプログラムが好きな一般人から言えることはこのくらいです。この主はちょっとすごすぎるのでなにか他にしてるかもしれないですが。

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +3

      いわゆる高校数学を全部学んだあとJavaScriptとp5.jsを学ぶと、この動画くらいのプログラムはすぐに作れるようになります!
      ……とはいえそれではハードルが高すぎるので、近々初心者向けの講座を作る予定です。お楽しみに💪

    • @龘䨺齉纞靐鼱麤鸞驫
      @龘䨺齉纞靐鼱麤鸞驫 2 роки тому +1

      数学ちゃんと勉強した方がええで

  • @sttt88888
    @sttt88888 2 роки тому

    す、、、すげえ、、、、

  • @laystorin123
    @laystorin123 2 роки тому

    懐かしいですね。昔カラーのノートPC(PC-9801NC)が出たときに、
    N88-Basicで何日かかけて計算したことありますね

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому

      そんな牧歌的なロマンある時代に生まれたかったものです🐤

  • @rn1136
    @rn1136 Рік тому

    ゲームでレイトレーシング使うとそら重いわなって思いました

  • @user-jf1fr6ci7s
    @user-jf1fr6ci7s 2 роки тому

    凄すぎるw

  • @ikedayoshio_of_joytoy
    @ikedayoshio_of_joytoy Рік тому +1

    すごい!全くわからなかった👏

  • @グラードン
    @グラードン 2 роки тому +4

    こういう、
    計算だけでなにもかもを表すのがプログラミングの本質だとおもう。

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +4

      計算機を操るのがプログラミングですからね💪

    • @user-vn5ux4ov4k
      @user-vn5ux4ov4k 2 роки тому

      なんかあたりまえのこといってら

  • @_Fonce_
    @_Fonce_ 2 роки тому

    0から作ってみるって重要ですよね

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому

      0から作ってみてこそ、ライブラリの有り難みがわかるというものです💪

  • @Marukute_Ayashii_Yatsu
    @Marukute_Ayashii_Yatsu 6 місяців тому

    今でこそリアルタイムでやろうって話になってるけど
    プリレンダなら30年前にはもう普通に使われていたというのが今思うとなかなか凄い
    よく当時のコンピュータでCGの映画とか作ろうなんて考えたなと
    レンダリング用に専用フロアが要る巨大なマシンとかどんな世界よって言う😅

  • @NAOK900
    @NAOK900 2 роки тому +1

    レイトレーシングはPCへの負荷が強大すぎるね。かと言って解像度を下げるとシャギーが目立つし光の反射の美しさが半減してしまう。美しさを求めてレイトレーシングにハマったのに意味がなくなるジレンマww

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому

      正解:GPUでごり押す💪
      それでも計算リソース全然足りないんですがね🥺

  • @user-oi8nw2iu4f
    @user-oi8nw2iu4f 2 роки тому

    本当に素人質問で申し訳ないんですが、
    BlenderでPythonを、みたいなものをよく見かけるのですが、これはその一例のようなものなのですか?
    またこの場合言語などは何を使用されてますか?
    現在浪人しながら勉強と3DCGをしておりますので、上手く二つが繋がるようなこの動画は両方のやる気を引き立ててくれます。ありがとうございます。

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому

      まさにその一例のようなものです。
      ただしBlender+Pythonの場合は便利機能が揃っているおかげで数学をこねくり回さずに済む、という感じです。
      言語等についてはここで紹介しております💪 heron-no-suugaku.sakura.ne.jp/

  • @ian-df6dc
    @ian-df6dc 2 роки тому +1

    世界の仕組みをプログラムに組み込むのロマンある(伝われ)

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +1

      世界の仕組みをシミュレートできる性能の計算機を数十億人が持っている、ロマンある時代だと思います。

  • @newmarimo
    @newmarimo 2 роки тому

    80年代のCGはこんなかんじだったね

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому

      市松模様と球体、80年代からの伝統ですね💪

  • @user-henjisiroya
    @user-henjisiroya 2 роки тому

    表面化散乱とかも、球面ガウス関数とかで近似して

  • @Mickey.Youtube
    @Mickey.Youtube 2 роки тому

    自作の3Dゲームエンジンを作りたいです。ゲームエンジンのレンダリングエンジンにGitHubで公開されているレンダリングエンジンを使ってゲームエンジンに組み込むのはありですか?
    Blenderに使われているレンダリングエンジンであるCyclesのソースコードをコンパイルし、自作のゲームエンジンにレンダリングエンジンとして組み込み、レンダリング以外のゲームエンジンの機能を作っていくつもりです。
    ゲームエンジンの自作の経験はないのですが、レンダリングエンジンを外部のオープンソースのエンジンに頼り、自作ゲームエンジンを作り上げることは出来るでしょうか?

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому

      茨の道ですが、不可能ではないと思います💪
      1. ゲームエンジンのデータ(頂点座標など)をレンダリングエンジンが読める形式に加工する
      2. 加工したデータを、APIを通じてレンダリングエンジンへ渡す
      3. レンダリングエンジンが出力した画像をゲームエンジンが受け取る
      参考になりそうなリンクを貼っておきます。
      wiki.blender.org/wiki/Source/Render/Cycles/Standalone

    • @Mickey.Youtube
      @Mickey.Youtube 2 роки тому

      @@heron-no-suugaku ありがとうございます。たしかにイバラの道ですが、最近ゲームエンジンそのものについて気になって調べていたところです。UE5などはどのようにしてNiniteやlumenなどの先進的な機能を実現したのかと。
      実際、個人がエンタープライズに耐えられるゲームエンジンをつくりあげることは不可能でしょう。UnityもUE5も数百人の凄腕エンジニアがゲームエンジンを作り上げています。開発費も数億円ではとてもではないが足りないでしょう。しかし、ゲームエンジンの挙動を知りたいのはエンジニアの気質かもしれません。ヘロンの数学でまさかレイトレーシングの中身が見れるとは思いませんでした。
      話を聞いた感じでは、技術的には可能ですが、エンジニアとしての腕前と予算的に不可能そうですね。ご返信ありがとうございました。

  • @Mickey.Youtube
    @Mickey.Youtube 2 роки тому

    いまトルネコの不思議のダンジョンを目指したローグライクゲームを作っているんですが、トルネコの不思議のダンジョンや風来のシレンのような仕様を完璧に満たしたローグライクをゼロから完成まで作ったとしたら、それは難易度でいったらどれくらいですか?(プログラミングの世界において、レベル1が最も容易、レベル10が最も困難として点数を付けるとしたらそのローグライクの作成の難易度は何レベルくらい?)

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +1

      レベルはわかりませんが、もし完璧にローグライクを作れたら日本トップクラスのゲームプログラミングの実力あると思います💪
      「迷路の生成」「プレイヤーや敵の行動の管理」「敵AI」といった難題のオンパレードですからね

    • @Mickey.Youtube
      @Mickey.Youtube 2 роки тому

      返信ありがとうございます。作ることがそこまでしっかりした評価に繋がるなら、完成まで漕ぎ着けてみます。実はおっしゃられた3つは基本的なものはできています。1Fのみですが、迷路を自動生成して敵が迷路を巡回します。アイテムと階段はありませんが、ヘロンの数学のクオリティを目指して、いつか商業レベルまで発展させたいです。しかし、レイトレーシングには驚きました。まさに空間と数学の天才ですね!

  • @user-py1sw4ly4v
    @user-py1sw4ly4v 2 роки тому

    3Dエンジンなんかを作る人たちは数学めちゃくちゃできる人たちなんですね・・・
    私は数学ができないプログラマなので、コードは読めても意図が読めなくて結局何をやってるのかよく分かりませんでした。ただただなんかすげぇという感想しか出ません。
    知り合いに数学が得意でゲームプログラムに興味持ってる子がいるので、このチャンネルを勧めてみようと思います。もしかしたら将来3Dエンジン作る道に進むかもしれない・・・

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +3

      CG-ARTSの「コンピュータグラフィックス」「ディジタル画像処理」という本も勧めておくと爆伸びするかもしれません💪

    • @user-py1sw4ly4v
      @user-py1sw4ly4v 2 роки тому

      本の紹介ありがとうございます。こちらの世界に興味を持ってくれそうならそれらの本も奢ってやろうと思います😀

  • @xayvion1001
    @xayvion1001 2 роки тому +1

    トイレトレーニングかと思って見にきたら違った

  • @Yuki-ww8je
    @Yuki-ww8je 2 роки тому

    使用している言語はJavaでしょうか?
    おすすめのエディターとかあったら教えてほしいです。
    (そもそも無料でできますか?)

    • @Kazu_gmx
      @Kazu_gmx 2 роки тому

      エディタの上側に .jsと書かれているのでJavaScriptだと思います

    • @Yuki-ww8je
      @Yuki-ww8je 2 роки тому

      @@Kazu_gmx そうでしたか
      ありがとうございます

  • @user-zy9og9lv6q
    @user-zy9og9lv6q 2 роки тому

    浪人生に分かる位の数学でこういうの作れるの面白い。

  • @TS-lb1ry
    @TS-lb1ry 2 роки тому

    天才?

  • @unko_nagashitakunaine
    @unko_nagashitakunaine 2 роки тому

    めからウロコ

  • @jp_japanese_jp
    @jp_japanese_jp 2 роки тому

    えぇーすごいな
    こういうこともできるようになりたいし、それ抜きでも数学がこんなにできるようになりたい

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +1

      一見高度なことをやっているように見せかけて、実は高校の数学の教科書レベルのことをやっているだけだったりします。受験問題とか正直全然解けません💪

    • @jp_japanese_jp
      @jp_japanese_jp 2 роки тому +2

      @@heron-no-suugaku え、ほんとですか
      じゃあ高校生の僕は今頑張ればいいだけということですね
      正直今僕は普通レベルにもできないんですが、なんとか頑張ります

  • @cyanoki284
    @cyanoki284 2 роки тому

    数学を頑張りたいと思いました(小並感)

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +1

      お互い頑張りましょう _(:3」∠)_ 📚📚

  • @Tsuchinoko125
    @Tsuchinoko125 2 роки тому +2

    本当に申し訳ないけどタイトルが一瞬トイレトレーニングに見えた(´・ω・`)

  • @duri0214
    @duri0214 2 роки тому

    難しい数学はわからないけどなんでshadeのレンダリングが当時遅かったのかはわかった!平面1ピクセルあたりそんだけ計算してればそりゃ遅いわ

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +1

      写実的な画像を作ろうとすると、1ピクセルあたり数千回という世界ですからね😱

  • @Rot_ff0000
    @Rot_ff0000 2 роки тому

    レイトレーシングがトイレトレーニングに見えたので来ました

  • @user-rf1nj9hv3d
    @user-rf1nj9hv3d 2 роки тому +1

    javascriptでこんなこと出来るんですか…

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому +2

      原理さえわかっていれば言語は関係ないのです💪
      ガチで最適化したければRustやC++が必要だったり、GPUで計算したければGLSLが必要だったり、そういった制約はありますが🥺

  • @user-hd2fy7cj3v
    @user-hd2fy7cj3v Рік тому

    光じゃなくて鏡面効果では?

  • @kazenotanisi
    @kazenotanisi 2 роки тому

    大昔から思うけど、3Dを2Dに置き換える計算ってなんか不気味、まあ見えてるって2Dなんだろうけど

    • @heron-no-suugaku
      @heron-no-suugaku  2 роки тому

      ピンホールカメラモデルという分かりやすいモデルがあるとはいえ、除算だけで3D→2Dができるのは不思議ですよね💪

  • @synergy_products
    @synergy_products 2 роки тому

    えーー、レイトレって自作出来るの??
    やばすぎ笑笑

  • @kamesankamesan
    @kamesankamesan 2 роки тому

    こんなん見せられたら、サブスク入ろうか迷うなぁ

  • @user-mj4nt1om2k
    @user-mj4nt1om2k 2 роки тому

    0.25倍速でみようとしたら全然わからなかったわ

  • @user-henjisiroya
    @user-henjisiroya 2 роки тому

    ラジオシティ法は?

  • @user-omega
    @user-omega 2 роки тому +3

    これは神すぎる!!!

  • @playlist1054
    @playlist1054 2 роки тому +1

    :D