はてなキーワード: シェーダとは
Metalの登場以前は、macOSにはOpenGLが、そしてiOSにはOpenGL ESがそれぞれ提供されていたが、いずれも高度にハードウェアが抽象化されていることから性能上のオーバーヘッドが大きい。Metalは以下のような理由から、OpenGLよりも優れたパフォーマンスを期待できる[9]。
シェーダーの事前コンパイルおよび最適化や、前もって実行されるステートの結合と評価(Validation)
これらのうちいくつかは、GPUでコマンドを実行するために必要になるCPUのタスクを低減する。そのため、他の仕事のためにCPUを使えるようになり、全般的なパフォーマンスの向上につながる。
アクセやギミックを無秩序にジャラジャラ付けてるのは言うまでもなく
モデル本体のデフォルメ・リアルのバランスとズレてる髪の毛や服。キプみたいなデフォルメアバターに細い髪の毛や、細かすぎる装飾やハイライトの入る服装とかガチャついてて妙。
付け足した服や髪や小物と、アバター自体の、シェーダーで付けてる輪郭線のバラつき。アバターに太めの輪郭線付いてるのに髪の毛に輪郭線入ってないと浮いてて妙、逆もそう。
アバターと服で暗闇での見え方がガチャついてるのとかもどうにかならないか?
髪や服や肌やアクセのカラーのトーンがバラついてるのもアレ。いろんな色が混ざってたり、明暗濃淡バラついてたりとかさ。原色鮮やか複数色も妙。
完成!のツラでシェーダー側だけで色変えてて焼き込みしてないのも論外。使ってないphysborn残しっぱなしとかはそれ以前の話。テクスチャの圧縮も。
とはいえコンセプトハッキリさせて、させていたとしてもそれに合わせた改変をしてないように見えるのが白けるのであって、乳をまろび出したい!という強い意志のある改変は何よりも尊くはある。
Apple、NVIDIAは盛り上がっているが、他の半導体企業は振るわない。
半導体チップというと、ロジック、メモリ、センサー、アナログ、車載など色々ある。
半導体株は一時期盛り上がっていたが、結局儲かっているのはApple、NVIDIA、設計ソフトEDAベンダーだ。
給湯器や車載向けの半導体が無くて作れないといったことが数年前に起こったが、一円以下の数銭単位で値引きされ利益がない。
メディアがIoTだ、車載だと騒ぎ立てたが、どこも稼げずジリ貧のまま事業続けているのが実態だろう。
性能がいくらあっても足りない。というよりスパコン、HPCだ。
単体GPUじゃデータが格納できないので、複数GPUでデータをやり取りすることになる。
NVIDIAはコンシューマ向けGPUでは不要だったスイッチチップも着々と用意していた。
NVIDIAのサイトを見てもらえばわかるが、GPU以外のハードと、それを使うためのソフトも沢山ある。
日本の研究だと低消費電力向けを研究しているのだが、IoTなどでもわかっていることだが
唯一無二の性能・販売価格でなければ他に埋もれて購入すらされなくなる。
ゲームだと1フィールド読み込めば使いまわしなどキャッシュが効きやすい、シェーダパイプラインが決まっている、
そもそもハード限界の中で仕様が決まるなどがあり、問題はなかったが、AIはチップの性能内で決まらない。
AIの場合、推論はKVキャッシュくらいは活用しようという動きが出てきたものの、メモリ全部にアクセスするのでキャッシュがバッファ的な意味合いでしか効いておらず、
メモリ帯域が物を言う。
あと日本はリソグラフィ限界のサイズの大きなチップを作ってこなかった。
4GHz,5GHzで駆動させると、チップ内を光速で信号が伝搬するとはいえ、チップサイズに対して伝搬速度が遅く、タイミングがMETしない。
大きめのチップを作っている企業もあるだろと指摘があるだろうが、物理設計は台湾企業に委託していたりとノウハウがない。
10年くらい前からリアルタイムCG、ゲームグラフィックが良くなったが、これはGPUの進化と映像向けのCGの手法の後追いに過ぎなく、言ってみればポリゴンの高密度化とピクセルの塗り方が良くなっているだけとも言える。
これはリアルなグラフィックを求めるユーザーがいてそうなったわけだが、データの制作に金がかかるようになりある時点からインタラクティビティがシュリンクしていく事となった。
分かりやすい例の分岐点でいうとFarcry2から3,4への過程などだ。
高密度ポリゴンでリッチなピクセルをもつデータはなんとかつくれるが、それが壊れたり干渉出来るようにつくるのは非常に手間がかかるしGPUパワーだけでなくCPUパワーがいる。このあたりはポリゴンという三角形の集まりでデータができていることや、キャラクターはボーンと言われる骨のしくみ、つまりポリゴンをグループ化して動かす仕組みがCG黎明期からいまも使われていることが一因であると思う。
ポリゴンにテクスチャを貼るいわゆるUV座標というしくみも、シェーダの登場で柔軟な処理は組めるようになったものの、根本としては立体物に折り紙を貼っていくのと変わらず、アーティストは歪みや切れ目に気を付けてテクスチャを貼る必要がある。(白い球体に折り紙を貼って野球ボールに見えるようにする事を想像して欲しい)
このように進化した、あるいは進化していないゲームグラフィックの10~15年だったが本当に正しかったのかと思う。インタラクティブなCGにはポリゴンではない仕組みが必要だったのではないか。破壊とか今のゲームでもできてるじゃんと思うかもしれないが非常に手間なのだ。つまり金がかかる。
どこでも穴を掘る、キャラクターの腕を引っ張る、服をつかむ。リンゴを切る、コップの水を飲む。ほとんどできない。もしくは大金が消えていく。
1人のキャラクターがテーブルの上に腰掛けたり、道端の縁石に腰を下ろしたりするのを可能にするのも大変だ。いろんなサイズの人間同士で握手させる、肩車、組体操、非常に難しい。
現状は、3Dで例えるならほとんどの人がMMDやらコイカツやらを使いこなせるようになった状態に近いと思う。
2Dの生成絵も結局のところ、MMDやコイカツが作品のシェーダー品質や著名なモデル・モーション作者の存在を反映してみんな同じような素材をつかって「流し込み」をしてて、似たような作品が「生成」されてる状態と大差ない。
もちろん「生成者」ごとに細かい仕上げの違いがあったり、自作できる領域の差があったりして、最終的な品質は千差万別になるけども、それでも見る側としては「これはMMD/コイカツ系の創作物だな」と脳内で区分した上で見てる。
AI絵もそれと同じで、あくまで「これはAI絵だな」として「AI絵」という一つのジャンルで見てる。
中には版権絵を学習元にしてそうなヤバいAI絵も見かけるけど、そういうのは後日探しに行くとアカウントごとパージされてる。
だからAI絵は結局どれもAI絵っぽいものになる。見る側もAI絵として区別して消費する習慣がついてる。これは渋みたいな表のサイトのみならずアングラのサイトでも区別されてるからね。
一人の絵師が同人文化全体と競合したり影響を与えたりすることが不可能なように、AI絵もそこまで大げさに影響与えるほどのもんでもない、ただのオモチャだと俺は現状感じてるな。
結局のところ2003年から2011年頃までいちばん延べ計算量が必要だったのはリアルタイムの3Dグラフィックスのレンダリングだったんだ。そこではNVIDIAって会社がPCゲームのプラットフォームを握ってしまっていてそこで技術開発をめっちゃ進めてしまったんだ。
結果的にPlayStation2までは純日本設計だったグラフィックチップが、PlayStation3ではNVIDIAのGPUになってしまったんだ。そこで負けが確定してしまった感じだ。PlayStation3のCPU、CELLに内蔵されているSPUは、世代をどんどん進めていったら最終的にレンダリングもできるグラフィックチップに進化する可能性があったのかもしれないけど次世代が出せなかったのでそこで終わりになってしまった。
NVIDIAは先端を走っているユーザーが何を求めているかをめちゃくちゃちゃんと調査して、彼らがちゃんと新しいことを効率よくできるようなチップを開発してくるんだ。だからハードウェアTLが必要になってきたときにGeForceを出してきたし、その後ポリゴンへの複雑なマッピングを駆使してリアルなグラフィックスを構築しだしたらシェーダアーキテクチャを提案してきて、そのシェーダプログラミングでレイマーチングを遊びでみんながやりだしたらリアルタイムレイトレをハードウェアでサポートしたRTXをリリースしてきたしAIもそうだ。いまコンピュータを使っているユーザがどのようなことをやって、次に何が求められているのかを見極めるのが上手なんだと思う。
京の事業仕訳けの議事録を再度読み返したけど、確かにそこにはスーパーコンピュータのユーザーを見ておらず「国民に夢を与える、あるいは世界一を取ることによって夢を与えることが、実は非常に大きなこのプロジェクトの1つの目 的 」などとボケたことを言っている説明者たちと、いやいや実際のユーザはそんなのを求めてるわけないだろという金田先生の議論がつづいていて、そのへんが日本が負けた原因なんじゃないかなあーって思うんだよ。
ただ運も味方していて、NVIDIAが計算能力をバカみたいに使うグラフィックスを提案して微妙な感じになってたところに、ビットコインのマイニング需要があって、そのあとにAIが盛り上がった。計算能力をうまく価値にしてくれる応用がいい感じに出てきていまに至ってるんで、とりあえずやってみて一位とってみろよ、みたいな話が必ず悪いわけではないかもしれない。
Intelは偉くて、GPUでNVIDIAやATI(現AMD)に完全に負けていて後塵を拝していたにもかかわらず、じわじわとCPU内蔵のグラフィックチップの性能を上げていきディスクリートGPUも作るようになり、昨年ちゃんとその成果が世界2位のAuroraスーパーコンピュータとして実稼働を始めてたのですごいなと思ったよ。そのAuroraはGPUもCPUもIntel製で2位、1位のFrontierはGPUもCPUもAMDなんだけどね。結局のところ一般用途で台数が出てない状態ではスパコンを作れるような技術も養成できないってことだったんだろうと思う。
当時の日本では携帯電話向けのプロセッサしか数が出るものがなかったから、そこに全力投球して、でもガラケーではグローバルに売れないからPDAに販路を広げてiPhoneやAndroidに採用してもらう、みたいな流れができれば最高だっただろう。でもそんな戦略を説明して実行に移せるトップが日本の家電メーカーのトップには居なかったんだ。だってあいつらテレビやブルーレイをどう売るかしか考えてなかったんだもん。PocketPCに載ってたIntelのXScaleが没落したときを狙ってちゃんとチップを出せてればチャンスがあった。でもそこに載ったのはSamsungやTI、そしてQualcommのチップだった。TIは撤退してしまったけどSamsungはまだプロセッサを作り続けている(これはGalaxyという大きな需要があるからできているのだと思う)。
https://aiprogrammer.hashlab.jp/
言語化した段階でもうそれはコードにしてるも同然で、それを文章にするかプログラムにするかぐらいの違いしかない
逆にライブラリ指定すれば検索して使ってコード書いてくれるからアホみたいなキータ見るよりはこれでワンクリックで調べられる分楽ではある
俺が海をプログラムで書こうと思ったら細かく言語化してコードにしないといけないから、海の波のシェーダをかけと言って用意してくれるようになるならいいなとさえ思う
他のやつもできて差別化できないんじゃね?という疑問にはプログラミングみたいな誰でもできる仕事は無くなったほうがいいからなくせと思う
いや厚みあると思ってるの?むしろ現実の服に厚みがあると思ってるのか?
由来はアイマスのスマホ音ゲー2大巨頭の「アイドルマスターミリオンライブ シアターデイズ(ミリシタ)」と「アイドルマスターシンデレラガールズ スターライトステージ(デレステ)」の対立煽りで
「ミリシタの衣装はペラペラで薄い、デレステの衣装は厚みがある」みたいなことを言われる。
ミリシタ
https://www.youtube.com/watch?v=kmRAbPj7ZUU
https://www.youtube.com/watch?v=o2vjoo5zyXQ
どう思うだろうか
結局シェーダーとテクスチャの違いとしか言いようがない気がする。
ミリシタは据え置き機のアイマスのシェーダーを踏襲しており、基本的にはシェーダーで影を付けるようにすることで単色でテクスチャの描き込みは少なくしている。
対してデレステは据え置き機のアイマスとは違った雰囲気で、テクスチャの書き込み、とくに影の描き込みが多いと言える。
デレステのフリルとかが好きとかいうのも見るけど、そういうのもミリシタにはある。
あと気になるのはデレステの8割のスカートがある衣装って後ろが長い。
普通のスカートって中心から等間隔で伸びてるけど、デレステはお尻側だけ前側の1.5倍~2倍くらいは長い。
こういった奥行きがあるのを”ペラペラではない”と判断するのだろうか
GPGPUアプリケーション開発の環境およびAPIとしては、ハードウェア内部構造自体が汎用性を増したDirectX 10世代の統合型シェーダーアーキテクチャGPUの登場以降、NVIDIAによるGPGPU専用の統合開発環境「CUDA」や、AMDによるGPGPU基盤「AMD Stream」(旧称ATI Stream)、そしてクロノス・グループによる標準規格「OpenCL」が現われ、GPGPU活用の幅が広がりつつある。 https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%83%8E%E3%82%B9%E3%83%BB%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97
PS4とSteamで新しいアイドルマスターのゲームが発売されるが、
結構な頻度でネガティブな発言をよく見るので、主なものを挙げて自分の感想をまとめておく
プラチナスターズから3Dモデルがブラッシュアップされ、スターリットシーズンにて再度3Dモデルが新しくなった。
おおむね、諸星きらりや双葉杏のようなかなり身長差が激しいアイドルを躍らせるために3Dモデルやモーションを一新するのが目的だろう。
ステラスターズまではどのキャラもだいたい同じような身長差で、ゲストキャラも元のアイドル達と大きく離れてはいなかった。
ウマ娘のほうが出来が良いと言えばよいが、ぶっちゃけシェーダーの違いなので個人の好みの差だと思う。
例えると、どの絵師の絵が好き?くらいの違いだ。
今さらアイマス1のようなモデルだと古臭いし、2やOFAなどのモデルも洗練されているが、そこはミリシタに引き継がれている。
プラチナやステラは美麗ではあるが癖が強いかなと思ったので、スタマスはだいぶ落ち着いたようなモデルだと思う
強いていうなら、肩とかの関節がうまく処理できていないのでそこは直してほしいところか
デレマス、ミリマス、シャニマスから5人ずつというのは確かに少ない。
デレミリは選抜で出てくるならまだしも、シャニはユニット売りなのにユニット関係なく選抜メンバーで出てきたので結構ネガティブな意見が多かった気がする。
まぁアイマスは全作品通じてDLC商法ではあるので、1年間毎月各マスから1名ずつ追加で入ってくるというのはあり得る。
Steam版があるので、怒られそうなスレスレなところで追加アイドルModを作ったりとかもアリだろうか。
あとDSがはぶられてるという意見もあったが、演者が忙しすぎるのでどうしようもないというのはある。
余談だが、プラチナ、ステラのときはマネタイズに苦労していた(ガチャのほうが金を落とされやすいため)ので、
これも発表当初から結構言われているが、正直女性と男性で骨格や3Dモデルの作り方が違いすぎて非常に難しいというのがあると思う。
ダンスモーションの破綻を許しても、女性歌唱のダンスを男性が踊ったり、男性歌唱のダンスを女性が踊ったり、
据え置き作品のアイマスは全アイドル歌い分け(アイドルを編成した順番で個別に歌い分けができる)が基本だが、
ワンチャン、3Dモデル付きでストーリーとかには出るかもしれない。
それはそう(断言)
ライトやスモークの加減とかの絵作りはウマ娘のほうが上な気がする。
PS4で動かすのにスタマスは5人でウマ娘はもっとたくさんなんだが?という意見もあるが、
バックダンサーはモーションやテクスチャを共通化しているのでそこまでの負荷ではなさそうだと思っている。
スタマスは先日の生配信で情報が公開された「STAGE FOR YOU」という好きなアイドルと楽曲でMVを作るモードで
以前はできなかったが今回はステージ演出をいじることができるようになったり、そのうえでアイドル個別で撮るなどカメラワークを操作して
結果をオンラインで公開などができるのでそこは期待している。
先日のスタマス生配信のコメントで「OFAからずっと思ってたことあってスタマスで見切りをつけた」おじさんはOFAから何が気に食わなかったのか教えてほしいところ。
あと久夛良木Pはプロデューサーらしくあってほしいとは思った。
あがり症っぽいのはわかるけど、もう少し克服してほしい。
生配信などの場でユーザーに対してゲームのことを伝えるのがゲームプロデューサーとしての対外的な仕事だろう。
STAGE FOR YOUの情報公開で「ぼくのかんがえたさいきょうのアイマス」に近いアイマスが出ると思っているので、買おうと思っている。
プロデュースシステム的にはアイマス2やOFAっぽさを感じるので、プラチナやステラで辛酸をなめたプロデューサーももう一度手を取ってみてはいかがだろうか。
ゲーム業界でプログラマーとしてやっている身から考えを書いてみる。
「私のフォロワーの方にはクリエイターやゲーム関係の方がたくさんいらっしゃると思います。皆様の意見を聞かせていただきたいです。」
https://twitter.com/gamemakerdiary/status/1413185724849954817
ゲーム会社の経理や人事でも、好きなゲームに関わっているということで満足する人もいる。
小規模なゲームをひとりで全部作りたいのか、中規模以上のゲームのどこかを担当したいのかくらいは考えておくべき。
次は専門職。シナリオ、グラフィック、作曲といった専門の教育を受けてないと手も足も出ない分野。
これも解像度を上げると、コンセプトアート、キャラデザイン、ムービー、モデリング、ライティング、UIデザイン、録音、効果音などなど無数に分類される。
ゲーム会社、特にコンシューマゲームのプログラマーとしてやっていくなら、学生時代に身につけている言語や環境よりも、「大規模なものや複雑なものを怖れず学ぶ」資質が大事だと個人的には思っている。
ゲーム開発は、ゲームエンジンやフレームワーク、ライブラリ、APIを多用する。それもネットで検索してもまったく情報がない独自のものだったりする。
そもそもゲーム機はOS自体が普通と違うし。ビルドに使用するツールチェーンもかなり複雑になっていることが多い。
簡単な例でいうと、Visual Studioよりもテキストエディタの方がシンプルで使いやすいと思うタイプは要注意だ。
複雑でも多くの人に支持されているツールは何か良いことがあるはず、と思ってVisual Studioを使いこなす気持ちを持とう。
学生時代の作品もProcessingなどではなくC++で書くべきとか言われるのもこの辺に通ずる。
あとプログラミングに自信がある人で、既存のライブラリは複雑で使いにくいからとオレオレライブラリを作ってしまう人も要注意。
実は俺もそういうタイプなので苦労した。
ゲーム開発は複雑なものをそのまま使わなくてはならない日がいつか必ず来る。
既存の複雑なものを使う能力と言うのは、つまり大量の(英語を含む)ドキュメントを読む能力、大量のソースコードを読む能力でもある。
シンプルで洗練されたコードも素晴らしいが、洗練されたコードをめちゃくちゃ時間かけて書く人よりも
多少いまいちでも手が止まらず書き続けられる能力がある人の方がまわりには多い。
そういう人は、いまいちなコードに何度も手を加えて最終的にはまともなコードにしてしまったりする。
ゲーム全般やゲーム開発に関する知識量は、プログラマーとしても最大の武器だ。
有名なタイトルがどういう特徴を持ったゲームなのか広く知るのには膨大な時間がかかる。ゲーム好きでそのあたりに詳しいだけでも強い。
Unityなどのゲームエンジンに触ったことがある、というのもスキルというより知識の武器という意味合いが強い。
入門書レベルではなく、UniRxとかのプログラムの書き方の根本からくつがえるようなライブラリ経験とか、Unreal Engineのソースコードをいじったことがあるとかレベルなら超強い。
大学のゲームサークルやインディゲーム開発のグループで経験がある人はここが強いように思う。グローバルゲームジャム参加経験者とかも。
それから、ここが一番言いたかった点なのだが、前述の専門職とまたがる知識のあるプログラマーはめちゃくちゃ重宝される。
グラフィックならシェーダーがめちゃくちゃ書けるとか、3DデータやIKを扱った経験があるとか、3Dベクトルや行列演算の数学が得意だとか。MayaやBlenderを使った経験があるだけでも強い。
サウンドならDAWや波形編集ソフトを普段から触っているとか、信号処理に詳しい人。
つまりデザイナーやモデラーや音楽家の気持ちがわかって、その人たちと専門用語で話ができるプログラマーはどこでも食っていける。
あと最近はAIに強い学生もゲーム会社は積極的に採用している。
ひとつの専門知識+プログラミング能力を身につけるのはわりとおすすめの戦略だ。ゲーム開発の全部に詳しい必要は必ずしもない。
CEDECなどのカンファレンスに参加して、どういう知識体系があるのか知って、自分の強みを考えよう。
初日:2h30m
2日目:4h35m
3日目:2h13m
4日目:5h54m
5日目:6h22m
6日目:3h38m
7日目:直接的なモデリングは行ってないので時間は計測せず。ただ、公園の綺麗な休憩所のシーンに樫の木をアペンドして読み込み、それぞれ別のBlenderファイルを同一シーン上に並べ、それぞれのテクスチャもちゃんと反映された状態でレンダリングに成功するなど、素材を利用した制作術に進歩があった。また、本のBlenderファイルを読み込んでからテクスチャが反映されてない(モデルカラーがピンク状になっている)状態をシェーダーエディターで修正し、シェーダーエディターのモード変更でオブジェクトモードからワールドモードへ移行してHDRI画像が反映されていなかった状態を修正することでHDRI画像の設定の仕方を知るなど、新しい制作術を覚えることに成功した。
8日目:cgtraderのBlender用フリーモデルの完成度があまりにも素晴らしい。DLしたモデルが正常でないテクスチャ表示(紫色)になっていた場合は、『ファイル→外部データ→欠けているファイルを探す→DLしたモデルのテクスチャが格納されているフォルダで "欠けているファイルを探す" を実行』この手順でおおよそ何とかなる。
9日目:ニューヨークの一画を丸ごと再現したモデルが本当に凄い。街並みをそれっぽくローポリとテクスチャで綺麗に再現する手法の勉強になる。また、このモデルをBlenderで開いた時に初めて2画面(2ディスプレイ)で開くことで、Blenderが全画面モード中でも複数画面で編集画面を展開できることが分かった。全画面表示時、メニューバーから『ウインドウ→新規ウインドウ』の手順を踏むことで新しくウインドウが展開されるので、それを別ディスプレイに持っていけば、あっという間に2画面に渡った全画面表示編集環境が完成する。
『高品質な樫の木』オブジェクトのシェーダーエディターノードを参考にすることで、アルファ透過の仕方が分かった。テクスチャ画像とアルファ用画像は別に用意し、シェーダーミックスを経由して繋げるのが良さそうだ。アルファ用画像はマテリアル出力ノード一歩手前のシェーダーミックスの『係数』にリンクを繋ぐと上手くテクスチャの黒い部分が透過して抜けるようだ。
牛肉・リンゴ・バナナのモデルにテクスチャが貼られていないことへの修正対応を行ったことで、改めてオブジェクトへのテクスチャ貼りとノーマルマップ適用術を学んだ。
Diablo3をかなり意識した感じがあるんだけど
荒削りすぎて正直まだ製品としてのクオリティが微妙に感じてしまう…
・1ステージあたりがとにかく長い 20~30分当たり前
・その割にあまり代わり映えのしないマップ→長時間プレイが苦痛になるゲームデザイン
・敵の種類少ない
・かなりプレイヤースキルが求められて、アイテム探索が楽しみにくい
・ストーリーも軽くて「悪」とか「邪悪」とかそんなんばっかりであまり見る気がしない
・カメラワークがとにかく見づらく不便
・弓の敵がうざいのに、こっちの弓は残弾制限有りで不便
・緊急回避がスタミナ制の割に連続使用出来ないしクールタイム中は移動速度が落ちる…不便
などなど
なんだろう、細かい部分ばかり指摘してるような気もするんだけど
従来のハクスラの爽快感にあたる部分を不便にすることでレベルデザインしてる感が否めず
プレイしていて非常に具合が良くない。
サンドボックスなビジュアルやシェーダーの質感とかはとても好きなので
ブログとかやってるわけでもないのでとりあえずここに書いた。