GameBlender、テクスチャを貼ったオブジェクトにライトが反映されません。

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー



通常 Re: GameBlender、半透明の表現

msg# 1.1.1.1.1.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/1/19 9:09
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4405
こういうのでしょうか。

----天井


----床(半透明)


----映り込み

多分ちゃんと実装されていないと思うので(汗)、GimpなどでAlphaで透過したマップ(PNGなど)を作成し、使用して下さい。

環境マップも使用はできるのですが、恐らく光にあわせるには至難の業だと思います。基本的にフローリングのようなのはむずかしいです。

投票数:2 平均点:0.00

通常 Re: GameBlender、半透明の表現

msg# 1.1.1.1.1.1.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/1/19 17:34
FiloFla.  新米   投稿数: 17
yamyamさん、返信有難うございます。
なるほど、テクスチャに初めから半透明のアルファチャンネルを持たせて読み込めばいいということでしょうか。研究してみます


重ね重ねすみませんが、またまた新たに質問したいことが出来たので質問させて下さいm(_ _)m

前の画像を見てお気付きになられたかもしれませんが、今私は展覧会の配置モデルを作っています。
そこで、作品の前に立った時に、画面に作品名を出したいと思いまして、以下の方法をとっています。

 ・カメラ(自分の視点)のSensorにRayを設定して、作品のマテリアルがRayに入ったら画面に作品名を出すPythonを繋ぐ

しかし、以下の問題点が出てきました。

 ・作品のマテリアルだけでなく、別オブジェクトであるホールの壁がRayに入っても作品名が表示されてしまう

どうすれば正確に表示されるようになるでしょうか?

ちなみに、画面に作品名を表示するPythonは、他の方のファイルから見つけた以下のものを、作品名のテキストを映しているカメラに設定しています。
from Rasterizer import*
import GameLogic as g
o = g.getCurrentController().getOwner()
o.enableViewport(1)
o.setViewport( 0 , 0 , getWindowWidth()/4 , getWindowHeight()/4 )
また、SensorのAlwaysに、上記のPythonの
o.enableViewport(1)
の部分を
o.enableViewport(0)
に変えたものを繋いで、普段は作品名が表示されないようにしています。
ちなみに、私はPython(というかスクリプト言語全般)は寡聞にして、現状ではほとんど分かりません

どなたか解決方法を教えて頂きたいです。よろしくお願いします。
長文失礼致しました。
投票数:1 平均点:10.00

通常 Re: GameBlender、半透明の表現

msg# 1.1.1.1.1.1.1.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/1/19 20:51
shi-zu-  新米   投稿数: 18
はじめまして、shizuと申します。

>作品のマテリアルだけでなく、別オブジェクトであるホールの壁がRayに入っても作品名が表示されてしまう

おっしゃられている内容をあまりイメージできていないのですが、
自分も手元でRayセンサーのマテリアル/プロパティ抑制指定を試したところ、
どうも抑制指定が機能しているようには見えませんでした。
(単に設定を間違えているのかもしれませんが)

そこで以下のようなスクリプトで抑制できるのではないかと思います。

import GameLogic

g = GameLogic.getCurrentController()
s = g.getSensor("isHit")
o = s.getHitObject()

if not None:
	if hasattr(o, 'workname'):
		print o.name

これはFiloFlaさんのと同じようにカメラのRayセンサーのControllerとして設定するスクリプトですが、
ヒットしたオブジェクトを取得し、worknameというプロパティがあればオブジェクト名称を出力します。

※worknameというのはLogicウィンドウでオブジェクトに追加しているプロパティです。

FiloFlaのニーズに合うかどうかわかりませんが、
作品のオブジェクトに適当なプロパティを追加し、上記のようなスクリプトで
判断してカメラを切り替えられないでしょうか?

あと、オブジェクトのアルファ値の設定ですが、サンプルが以下のURLにありますのでご参考ください。
いくつかサンプルファイルが入ってますが、「alpha_blend.blend」と「alpha_rgb_blend.blend」の2つです。

http://download.blender.org/demo/test/graphics-demos-2.43-preview1.zip

shizu

投票数:1 平均点:10.00

通常 Re: GameBlender、半透明の表現

msg# 1.1.1.1.1.1.1.1.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2008/1/19 23:09
FiloFla.  新米   投稿数: 17
shizuさん、初めまして。丁寧な返信ありがとうございます。
拙い文章で申し訳ありません。作品とは離れた場所にある、ホールの壁に近づいた時もPythonが作動してしまうというのが問題点でして、恐らく、shizuさんのおっしゃるとおり、マテリアル/プロパティの指定が上手くいっておらず、全オブジェクトのマテリアル/プロパティに反応してしまっているのだと思います。

そこで、shizuさんの下さったPythonを試してみましたが、無学なもので、上手く使うことができませんでした。

例えば、shizuさんのPythonをそのまま使うならば、対象オブジェクトにworknameという名前のプロパティを追加して、カメラ(自分の視点)のRayセンサーからカメラ(自分の視点)のPythonコントローラーに繋げばいいのですよね?
しかし、この配置モデルは出展者等に公開しようと考えていますので、できれば、画面に現れる作品名は日本語テキストで表示したいと思っています。

さらに、展覧会の会期が迫っておりまして、自身の作品制作も滞ってしまっているので、今回は、実際の展覧会と同じように、作品の下にキャプションを付けるということで手を打とうかとも考えています。

ですが、間に合うならば本来の理想とする方法でいきたいですし、後学のために是非解決方法を知りたいと思っていますので、shizuさんを始め、どなたでも返信下さい。お願いします。

追伸
アルファ値のサンプルファイルのご教示ありがとうございます。こちらも時間があれば研究したいと思います。
投票数:1 平均点:10.00

通常 Re: GameBlender、半透明の表現

msg# 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008/1/21 4:31
shi-zu-  新米   投稿数: 18
お疲れ様です。
前回の自分の書き込み内にFiloFlaさんに敬称を付け忘れた箇所がありまして大変失礼しました。

>恐らく、shizuさんのおっしゃるとおり、マテリアル/プロパティの指定が上手くいっておらず、
>全オブジェクトのマテリアル/プロパティに反応してしまっているのだと思います。

やはり実装されていないのでしょうかねえ
本家のフォーラムでは情報を見つけられなかったのですが。

>例えば、shizuさんのPythonをそのまま使うならば、対象オブジェクトにworknameという名前のプロパティを追加して、
>カメラ(自分の視点)のRayセンサーからカメラ(自分の視点)のPythonコントローラーに繋げばいいのですよね?

舌足らずですみませんが、あれは不完全でして、
if文でworknameを出す代わりに作品名の書かれたオブジェクトを表示するなり、カメラを切り替えるなりの処理が必要でした。
こちらがFiloFlaさんのやり方をあまりイメージできていなかったもので、かえって混乱させてしまって申し訳ありません。

なお、代案を考えられているということですが、仕掛けの話でわかりづらいところもありますので
もし理想を追求されるということであれば作成中の.blendファイルをご提示いただけるとお話が早いかと思います。
(作成物を公に出すのも難しいとは思いますが)

投票数:1 平均点:0.00

通常 Re: GameBlender、半透明の表現

msg# 1.1.1.1.1.1.1.1.1.1.1.1.1.1.2
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/1/21 22:06
AKI  長老 居住地: 愛知県  投稿数: 428
 逆転の発想で作品の方にRayを設定して、カメラのプロパティに反応して
AddSceneで画面に作品ごとの説明がオーバーラップで表示されるとかは
どうでしょう?


投票数:2 平均点:5.00

通常 Re: GameBlender、半透明の表現

msg# 1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/1/22 5:06
FiloFla.  新米   投稿数: 17
shi-zu-さん、AKIさん、度々のアドバイス有難うございます。
引用:
逆転の発想で作品の方にRayを設定して、カメラのプロパティに反応して
私もこれは考えたのですが、これだとカメラが作品とは反対の方を向いていても作品名が表示されることになってしまい、例えば平面作品と立体作品の間に立ったとき等に不具合がでるかもしれないと考え、検証することをためらっていました。
しかし、

引用:
AddSceneで画面に作品ごとの説明がオーバーラップで表示される
これならコントローラーをPythonでなく、Andに出来るので、カメラのRayセンサーとAndコントローラーで結んで制御できるかもしれないですね。(Rayセンサーはプロパティ/マテリアルの指定は上手くいきませんが、方向の指定だけは上手く動作しているので・・・^^;)

後は、これもまた作品とカメラのRayセンサーをAndで結んで、条件を満たした場合にはプロパティがTrueになるようにして、TrueになったらPytonが作動するように設定するという方法も試してみたいと考えています。(激しく乱文ですみません;)

ただ、今が一番忙しく、1月末が出品締め切りですので、2月になるまではBlenderをいじる暇がなさそうです
展覧会は2月の2週目からですので、2月に入ったら最後のあがきをしてみようと思っています。
返信を読む暇ぐらいはあると思うので、アドバイスはどんどん下さると有難いです。よろしくお願いしますm(_ _)m
投票数:5 平均点:6.00

通常 Re: GameBlender、半透明の表現

msg# 1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/1/22 6:41
shi-zu-  新米   投稿数: 18
FiloFla.さん、AKIさん

AKIさんのお話を元にサンプルを作ってみました。

ただ、作品からRayを投げるのはカメラが作品の正面に立たないと
いけなくて不便かと思いましたのでやらずに(間違ってたらすみません)
カメラのRayのみで実装しています。

内容的には、カメラだけにRayとスクリプトを設定し、
ヒットしたオブジェクトの名称と同名のシーンを
オーバーレイして作品名を表示するものです。
(FiloFla.さんのイメージと合致すればいいのですが。)

:download:tenrankai.blend

なお、テクスチャに問題あれば差し替えますのでご指摘ください

投票数:1 平均点:0.00

通常 Re: GameBlender、半透明の表現

msg# 1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/1/24 13:27
FiloFla.  新米   投稿数: 17
shi-zu-さん、素晴らしいファイルのご提示有難うございます。
少し触った程度ですが、私の目標とするところに十分すぎるほど届いているようです
また2月に入ってからじっくり触ってみようと思います。
本当に万謝しております。

恐らくこれで上手くいけると思いますが、また問題が起きた時には皆様のご助力をお願いするかもしれませんので、よろしくお願いします。

ちなみに作品数が40点ほどあるのですが、作成できるシーン数には制限はあるのでしょうか?
投票数:2 平均点:0.00

通常 Re: GameBlender、半透明の表現

msg# 1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008/2/1 6:47
FiloFla.  新米   投稿数: 17
無事、出品審査を通りましたので、これから久しぶりにBlenderを触ることが出来そうです
ただし、まだ作品の手直しや搬入のタイムテーブル作成など仕事は残ってますのでBlender一辺倒というわけにもいきませんが・・・。
しかし、これまでよりは確実に楽になりました。

さて、これからGame部分の構築をしていきたいと思うのですが、作品の制作をしながら一つ思いついたことがありまして、また皆様に質問させて下さい。

私が今考えているのは、作品に近づいたら作品名が表示されるというのはこれまで通りなのですが、
さらに、
例えば”Aボタンで詳細説明”
などと表示して、Aボタンを押すことで作品固有の説明画面に移るという仕様に出来たら面白いだろうな、などと考えているのですが、可能でしょうか?

私自身、これから研究を始める段階で申し訳ないですが、時間もあまりなく、早めに質問しておいたほうが良いと思い、質問させていただきました。

shi-zu-さん、AKIさん、yamyamさんを始め、どなたでも返信して下さい。よろしくお願いしますm(_ _)m
投票数:2 平均点:0.00

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki