質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

1396閲覧

Unityで1scaleあたり1タイル模様を表示するシェーダーを作成したい

退会済みユーザー

退会済みユーザー

総合スコア0

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2019/03/11 15:22

Unityで1scaleあたり1タイル模様を表示するシェーダーの作成方法を教えていただきたいです。

Unityでタイルを表示するシェーダーをShaderGraphにて作成し、オブジェクトにそのシェーダーを設定したマテリアルをつけました。
上部と下部はオブジェクトのscaleを取得して1scaleあたり1タイルにすることは可能ですが、そのままだと側面が1scaleあたり1タイルにすることができず、以下の画像のようになってしまいます。

イメージ説明
イメージ説明

側面のみ何かしらの処理をする必要があると思うのですが、検討もつきません。
一般的な方法として1scaleあたり1タイルのシェーダー作成するにはどのような方法があるのでしょうか?

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

モデル行列のX、Y、Z基底の長さをモデル座標X、Y、Zにかけて、それをTriplanarノードのPositionに繋ぐというのはどうでしょうか?

グラフ全体図
全体図

グラフ拡大図
拡大図

キューブを拡縮した様子
拡縮

Shader Graphは使用経験がなかったので、変な繋ぎ方をしている部分があるかもしれません。あくまでご参考ということで、「このノードを使えばもっとスマートに作れる」といった部分がありましたら、ぜひ改造してしまってください。

#追記
後でノード一覧を見ていたところ、Objectなんてノードがあるようですね。わざわざモデル行列からスケールを算出しなくても、同様の動作をこのノード一つでまかなえそうです。

Objectノードの「Scale(3)」を、先のグラフ図の中央付近にあるMultiplyノードの「B(3)」に接続すれば、同じ結果をよりシンプルに得られるかと思います。

投稿2019/03/11 19:10

編集2019/03/12 00:44
Bongo

総合スコア10807

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/03/12 15:40

shader graphの全体図までありがとうございます。 参考にさせていただきます。ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問