太いレーザーに関して

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
HK

太いレーザーに関して

#1

投稿記事 by HK » 15年前

初めて質問させていただきます。

簡単に自己紹介ですが、HKといいます。
理系大学生です(と言っても理学部なのでPCは触らずに理論ばかりやってます)
結構前からプログラミングをしており、このサイトの講座は一通り理解できるくらいです。
現在、ゼロから出発して本家「東方星連船」とそっくりなゲームが作れるかどうか試しているところです。

現在状況は、曲がるレーザーやボムなど、ほとんどの部分がそっくりに再現できたのですが、
先日よくわからないことが発生しました。

それは5面に登場する太いレーザー(グレイテストトレジャー)の再現です。(画像参照お願いします)
私の理解の範囲では、ブレンドモードをαブレンドにして、輝度を変更し、
青成分を強めて素材を描画すればOKだと考えていました。

しかし、輝度を色々変えてみても本家のような色を出すことができませんでした。

このような場合、どのような描画方法が最適なのでしょうか。(いまいちαブレンドについても理解が曖昧です)

HK

Re:太いレーザーに関して

#2

投稿記事 by HK » 15年前

SetDrawBright ( 80 , 80 , 255 )として、頑張って似せようとしたのがコチラです

Dixq (管理人)

Re:太いレーザーに関して

#3

投稿記事 by Dixq (管理人) » 15年前

お~楽しそうですね

携帯で見ただけなのでまとはずれかもしれませんが、青いレーザーの内側に白いレーザーを加算したらどうです?

y

Re:太いレーザーに関して

#4

投稿記事 by y » 15年前

あの設置型レーザーは、3つほど画像を使ってます。
(本家の画像を使ってる辺り分かっていると思いますが)
まず一つが発射元の光。
もうひとつがレーザーの柄。
三つ目が普通のレーザー。

順番としては、普通のレーザー、その上に柄(スクロールさせて)、そして発射元の光。
全部アルファ合成ではなく、加算合成です。
こういうのは、フォトレタッチソフトか何かでシミュレートしてから、
実装を考えると良いかもしれません。

HK

Re:太いレーザーに関して

#5

投稿記事 by HK » 15年前

レスしていただきありがとうございます。

なるほど、画像を重ねるということですか…
本家素材を貼ることはできないので、私が本家素材に似せて描いた素材の絵を貼ります。

No:47855 では1番上の太くて長い画像を青くして描画しただけでした。

y様のおっしゃっている「三つ目が普通のレーザー」というのはこの太いヤツだと解釈してもOKですか?

また、私の理解力不足のせいで「発射元の光」というのが何を指しているのかよくわかりません。
素材でいうところの 真ん中の丸い画像 のことでしょうか??

今、バイトに行くところなので、夜にでもy様の方法を試してみようと思います。

Ma

Re:太いレーザーに関して

#6

投稿記事 by Ma » 15年前

>素材でいうところの 真ん中の丸い画像 のことでしょうか??
画像を見た感じ、直感で答えるので正確でゃありませんが、
中央の明かりが放射状に拡散しているところからして、あなたの素材にある単純に丸い画像では綺麗に再現できません。
フォトショップでいうスマッジツール(ひきのばすやつ)を使って、放射状にちょっと拡散するような画像が必要になるんじゃないでしょうか?

あと、αではなく加算にするのは、白く表現するためです。
当然ですが、αではかさなっても元の色がこくなるだけで、かさなることによって綺麗な白色を再現できません。

ちなみに、yさんは画像として再現するといっているのに対して、Dixqさんは、違う色のレーザーをかさねることを提案していますが、
私も違う色(パラメータ)を持ったレーザーをかさねるのが、一番楽かなー、なんて思ってます。
ですが、これはあたり判定に無駄がでたりしますね。

そこで、真ん中が強い白色で外ぶちが灰色の画像を用意して、それを色指定で加算で描画していけば、再現できるのではないでしょうか。

y

Re:太いレーザーに関して

#7

投稿記事 by y » 15年前

すみません、私の表現がおかしかったです。
レーザーの根元と言った方がよかったですね。
素材の下の二つです。
一番上のものが柄です。
そして普通のレーザーですが、多分レーザーではないです。
素材の中段にある円形の画像に色を付けて一直線上に並べているだけみたいです。
(弾幕の動きからして、そのほうが正しいかもです)

先程、全部加算合成と言ったのですが、どうも違うみたいです。
普通のレーザーの部分は恐らく合成無し、その上に重ねるレーザーの柄は、加算合成。
レーザーの根元は、一度目に青色の拡大した根元を合成無しで、二度目にそのまま白で加算合成で描画…ですかね。

案外複雑なことしているみたいです。
一応、上の手順でそれらしいものは出来そうです。

間違いがあったらすみません<(__ >

HK

Re:太いレーザーに関して

#8

投稿記事 by HK » 15年前

皆さん返信ありがとうございます。

一応、やってみようと思ったことが得られたので、試してみます

その結果をまた報告させていただきます

HK

Re:太いレーザーに関して

#9

投稿記事 by HK » 15年前

yさんの方法を試してみたところ完璧に再現できました!

Maさん、管理人さん、yさん 皆様ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る