[過去ログ] 【3Dゲームエンジン】Unity質問スレッド32 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
356: 2017/11/23(木)03:08 ID:hlwE+o0N(1) AAS
>>353
俺、シェーダーのことは何も知らんけど、RGBで0黒くなったり1で白くなったりするなら
明暗制御してそうだし、0.5でも入れて試してみればいいんじゃないの?
試した上で書いてるなら申し訳ない
357: 353 2017/11/23(木)03:19 ID:wLnswzoG(2/4) AAS
外部リンク[html]:docs.unity3d.com
ちなみにマニュアルのこのページを参考にしています
>>354
0.5や0.1をいれても元のテクスチャの色では表示されないんですよね…
(0.01刻みで全て試しました)
>>355
アセットかわないと作れないのでしょうか?
358(1): 2017/11/23(木)05:31 ID:VzY+3J1y(1/4) AAS
surf 関数の中でSurfaceOutputのAlbedoにテクスチャ色を代入してるんだから、Lighting関数ではs.Albedoを使わないとそりゃテクスチャ色は反映されないでしょ
o.Albedo = s.Albedo.rgb * 0.5;
でも試してみ
359: 2017/11/23(木)06:55 ID:VzY+3J1y(2/4) AAS
おっとo.Albedoじゃないや
寝ぼけてるな
c.rgb = s.Albedo * 0.5;
だった
360: 2017/11/23(木)07:46 ID:Fif9lAfv(1) AAS
ID:wLnswzoG
質問のテンプレが完全にキムチw
361: 2017/11/23(木)09:12 ID:iDiAdE9o(1) AAS
fps一人で作れるか
362: 2017/11/23(木)11:16 ID:81qTUW9X(1) AAS
359は男前
363(1): 353 2017/11/23(木)12:30 ID:wLnswzoG(3/4) AAS
>>358
回答ありがとうございます
その場合でも若干元の色よりくすんで表示されるようです
どうやら調べてみたらLightingのScene->SkyBoxのAmbientが影響しているようでした
シーン全体に影響はでますが
insensityを0にした状態でc.rgb = s.Albedo * 1.0にしたら
Unlit>Textureとまったく同じ色合いになり解決しました
364(1): 2017/11/23(木)13:07 ID:VzY+3J1y(3/4) AAS
>>363
Unlit/Textureとほぼ同じ動作をさせたいなら元ソースから改変したらどうだい?
外部リンク:unity3d.com
ここからビルトインシェーダーのソースをダウンロードしてUnlit-Normal.shaderの中身を確認してみ
ライティングの影響受けるサーフェスシェーダーじゃなくてバーテックス/フラグメントシェーダーになってる
365(1): 2017/11/23(木)13:19 ID:VzY+3J1y(4/4) AAS
どうしてもサーフェスシェーダーでやるなら
#pragma surface surf 〜の行に noambient を足せば出来るらしい
試したら出来た
366: 353 2017/11/23(木)13:33 ID:wLnswzoG(4/4) AAS
>>364
厳密に言うとそこからさらに独自の影をかけたいのでUnlit/Textureそのままじゃダメなんですよね
Unlit/Textureのソースだとたしかlightning offとなっていて
ライティングシェーダーそのものがOffになってました
>>365
貴方が神ですありがとうございます!
Lightingのinsensityを下げる以外は頂点・フラグメントシェーダー以外方法がないかと諦めていたのですが
この方法ならサーフェスシェーダーだけでも出来るんですね
助かりました
というわけで質問〆ですありがとうございました。
367: 名無し@キムチ 2017/11/23(木)19:44 ID:zG98k7/b(1) AAS
>>348
ドット絵の素材で上左右向きのものはたくさんありますが、上下左右向きのものはちょっとないと思います。
368(2): 2017/11/23(木)20:27 ID:0DStohp5(1) AAS
いやあるでしょ
むしろ3方向素材より4方向素材のほうが多いっしょ
369: 2017/11/23(木)20:38 ID:8VVO/uAT(1/7) AAS
はい、というわけで
「左右後頭部だけのドット絵なんか使えないだろキムチ君」と心でツッコミいれてROMってる人達
こんばんは
本日の講義のお時間です
前回に引き続き「IF分の色々」です
370: 2017/11/23(木)20:44 ID:8VVO/uAT(2/7) AAS
IF分は次のように"多重"にすることもできます。
例
if( a == 1 ){
if( b == 1 ){
Debug.Log("aとb両方が1だよ");
}
}
こうすることにより1つだけではなく複数の条件がそろった時にIFを成立させる事ができるわけです。
上の例では2重ですが当然ながら3重にも4重にも無制限に行えます。
ただしとても見づらくなっていきます。
例
if( a == 1 ){
if( b == 1 ){
if( c == 1 ){
if( d == 1 ){
Debug.Log("aとbとcとd、全部が1だよ");
}
}
}
}
そこで算術演算子である「&&(アンドと呼ぶ)」を使う事で同じ事が見やすく行えます。
例
if( a == 1 && b == 1 && c == 1 && d == 1 ){
Debug.Log("aとbとcとd、全部が1だよ");
}
この2つの例は見た目は違いますが実行結果は同じになります。
371: 2017/11/23(木)20:50 ID:8VVO/uAT(3/7) AAS
if( a == 1 && b == 1 && c == 1 && d == 1 ){
Debug.Log("aとbとcとd、全部が1だよ");
}
はaもbもcもdも"1"の時にifが成立します。
4つのうちどれか1つでも"1以外"だとifが成立しなくなります。
次の例では、「a、b、c、dのどれか1つでも1ならばifを成立させたい」やり方です。
算術演算子の「||(オアと呼ぶ)」を使います。
例
if( a == 1 || b == 1 || c == 1 || d == 1 ){
Debug.Log("aかbかcかdのどれかが1だよ");
}
このように「&&」「||」を使う事でさらに柔軟な条件分岐を行えます。
372: 2017/11/23(木)20:59 ID:8VVO/uAT(4/7) AAS
if文は基本は「条件が成立した時に実行したい」処理を書くわけですが
逆に「条件が不成立の時に実行したい」処理を書くこともできます。
それには「else節」を使用します。
まずはelse節がないif文の例です。
例
Debug.Log("IFの前");
if( a == 1 ){
Debug.Log("aは1");
}
Debug.Log("aは1ではない");
Debug.Log("IFの後");
これを実行すると「a = 1」の時は
"IFの前"、"aは1"、"aは1ではない"、"IFの後"
と4つ表示されます。
"aは1ではない"が不要です。
"else節"を使う事で次のようにできます。
例
Debug.Log("IFの前");
if( a == 1 ){
Debug.Log("aは1");
} else {
Debug.Log("aは1ではない");
}
Debug.Log("IFの後");
これを実行すると「a = 1」の時は"IFの前"、"aは1"、"IFの後"と3つ表示されます。
「a = 1」ではない時は"IFの前"、"aは1ではない"、"IFの後"と3つ表示されます。
理想的な結果です。
373: 2017/11/23(木)21:05 ID:8VVO/uAT(5/7) AAS
最後に「if〜else if」を説明します。
else節の後にさらにifを使い条件判定(分岐)をさせる事が出来ます。
例
if( a == 1 ){
Debug.Log("aは1");
} else if( a == 2 ){
Debug.Log("aは2");
} else if( a == 3 ){
Debug.Log("aは3");
} else {
Debug.Log("aは1でも2でも3でもない");
}
Debug.Log("IFの後");
例えば「a = 1」の時は十字キーの左を押した時の処理を、
「a = 2」の時は十字キーの右を押した時の処理を、
「a = 3」の時は十字キーの下を押した時の処理を行い時などに使うことができる書き方です。
if文の章は以上です。
ここまでで貴方はif文の使い方はほぼマスターしています。
ほとんどの条件をあなたは実現できることでしょう。
わかったかクソども
374: 2017/11/23(木)21:06 ID:8VVO/uAT(6/7) AAS
誤字は愛嬌だ
わかったかクソども
375(2): 2017/11/23(木)21:08 ID:W9y7pNcP(1/2) AAS
ライティングについて教えてください
android端末をターゲットとしています。
密室で壁や天井をある程度明るく照らしたいのですが、結果としては「VR脱出ゲーム2」Blacksmith DoubleCircleさんが作っているような感じにしたいのです。
Directional lightを上からと下からと照らす方法を考えたのですが、他に何か良い方法はありますか?
ポイントライトですと、壁や天井の反射がきつい感じです。
376: 2017/11/23(木)21:27 ID:KgDCdD6L(1) AAS
アンビエントライトを付けろよ。
377(1): 2017/11/23(木)21:31 ID:ClP9LjDh(1) AA×

378: 2017/11/23(木)21:48 ID:8VVO/uAT(7/7) AAS
>>377
画像リンク
379: 375 2017/11/23(木)21:56 ID:W9y7pNcP(2/2) AAS
ありがとうございました。
アンビエントライトの設定でうまくいきました。
最初はskyboxだったので白くなりすぎたのですが、Gradientにして色を設定したら思った明るさになりました。
380: 2017/11/23(木)21:56 ID:aJavQgtq(3/3) AAS
>>375
ライト関係のアセットをかえばいいのでは
381: 2017/11/23(木)23:01 ID:yNi8m4dC(1) AAS
>>309
2Dなら、intとfloat,Vector2で事足ります。
文字列を表示するなら、stringもかな。
3Dなら、float,Vector3,Quaternionを使います。
基本的に、UIは数値表示のintと文字表示のstringです。
Vector4は、Matrix4x4という行列を使用する際に使います。
あるいは、Quaternionに直接数値を入力する場合でしょうか。
でも、行列計算は、Vector3で入力して、
Vector3で出力する関数が用意されているので、
Vector4はまず使う必要がありません。
Quaternionも、オイラー角で入出力するなら、Vector3で十分です。
Quaternion積もVector3で計算する関数があるし、
角速度もVector3だし、Vector4はメッシュやシェーダー用でしょう。
382: 2017/11/24(金)07:21 ID:F3KQBR4Q(1) AAS
>>350
無茶苦茶なコード書いてるんじゃねーの?
ググれば一瞬で答え出るからggrks
383(1): 2017/11/24(金)08:01 ID:9WQWnRQq(1) AAS
大作よりはほのぼの系のゲーム作った方がいいのか
384: 2017/11/24(金)10:45 ID:pP3PeJel(1) AAS
敵オブジェクトを操作するのに共通のスクリプトをアタッチするより、
一つのマネージャ用オブジェクトに全部の敵オブジェクトを操作するスクリプトをアタッチした方が
動作軽くなりそうだと思うんだけど、皆さんはどうしてますか?
385: 2017/11/24(金)10:59 ID:aXB5JEdr(1) AAS
モノによるから意味はない。
やりたいことに対してなら意味がある。
上下前次1-新書関写板覧索設栞歴
あと 617 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.023s