[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart11 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
496(1): 2023/09/08(金)09:29 ID:XzQB4oXg(1/2) AAS
 >>494 
 多分テクスチャのインポート設定が法線マップになってるからだと思う 
 テクスチャ選んでインスペクタからテクスチャタイプをデフォルトに直せば普通のマップとして使える 
497(1): 2023/09/08(金)09:45 ID:0vuZYJJN(1) AAS
 >>496 
 それはわかっているのですがスクリプトで色々操作しようとするとImporterからパスを指定してtypeを変更してApplyしないといけないので色を変えるシェーダーを作ってBlitすれば早いかなと思いそうしたいのです 
 ですのであの青い法線マップを赤色にした方法の逆をすればもとに戻るだろうと思い聞いてみました 
498(1): 2023/09/08(金)10:32 ID:XzQB4oXg(2/2) AAS
 >>497 
 シェーダーで色変換してレンダーテクスチャとして出力するってことかな? 
 うーん、できそうな気もするけどごめんそれは分からんね 
499(1): 2023/09/08(金)10:53 ID:CzNlMLJh(1/2) AAS
 >>494 
 Normalmapはlinear space(Gamma1.0)で読んでるだけだから 
 指定すると読み込むGammaが変わるだけ。 
 レンダリングはlinear spaceで行われるんで、sRGB画像はcolor spaceが 
 Gamma2.4だから、linear spaceに展開するには逆ガンマを掛けて 
 Gamma1.0に変換しないと見た目が狂う 
  
 詳しいことや計算式は srgb gannma サイゲームス でググると詳しい事が書いてあった筈 
500: 2023/09/08(金)10:54 ID:CzNlMLJh(2/2) AAS
 綴り間違えてたgannmaはローマ字なんで、Gammaね 
501: 2023/09/08(金)11:34 ID:BSXDA/IL(1) AAS
 >>498 
 そのとおりです 
 >>499 
 なるほど 
 ありがとうございます 
 資料探して勉強してみます 
502(1): 2023/09/08(金)14:34 ID:XdHQtCgD(1/3) AAS
 ゲームオブジェクトの取得ですが、thisとthis.transformとthis.transform.gameobjectに違いはありますか? 
 プリントしてもどれもオブジェクトは取得出来ているようです 
  
 また、transformクラスはゲームオブジェクトの操作関係だと思うんですが、だとしたらtransformクラスはゲームオブジェクトの下位にあるべきと思うのですが、this.transform.gameobjectの例ではなぜゲームオブジェクトが下位にあるんでしょうか? 
503: 2023/09/08(金)14:40 ID:sVV+A+b6(1) AAS
 transformのほうが上位ぞ 
504: 2023/09/08(金)15:19 ID:XdHQtCgD(2/3) AAS
 ありがとうございます。 
 thisでゲームオブジェクトが取れているわけではないのですか? 
 printした結果はすべて同じなんですよね 
  
 まあ、こうやって取るものだと覚えます 
505(1): 低クオリティでごめんねごめんね 2023/09/08(金)15:59 ID:OYwRjle1(1/2) AAS
 多分読まないと思うけど 
 外部リンク[html]:docs.unity3d.com 
  
 Transform はComponentから 
 GameObjectはObjectからの継承 
  
 Component.transform 
 Component.gameObject 
 GameObject.transform 
  
 の関係かなぁ 
  
 分かりにくいけどね 
 んでThisは 
 外部リンク[html]:docs.unity3d.com 
  
 ここ読んでなんとなくわかってもらえるといいけど 
  
 // Removes this script instance from the game object 
         Destroy(this); 
  
 これやるとゲームオブジェクトは消去されないでscript instance 
 のみ消えるというから要注意 
506(1): 2023/09/08(金)16:06 ID:XdHQtCgD(3/3) AAS
 >>505 
 何でそういう事言うんですか(*´ω`*) 
 理解出来なかったけども、そういうやり方だと覚えます 
507: 低クオリティでごめんねごめんね 2023/09/08(金)17:12 ID:OYwRjle1(2/2) AAS
 >>506 
 そういう事? どの部分? 
 読まないと思うけどってとこかな? 
 チュートリアルしない人が公式マニュアル読むとは思わなくて、ごめんね 
  
 それより、あなた以前の質問でさ 
  
 0470名前は開発中のものです。 
 2023/09/05(火) 16:53:49.91ID:RMKLnaCW 
 気をつけられる部分があれば次からそうします。 
  
 >>468 
 どの部分でしょうか? 
 0471名前は開発中のものです。 
 2023/09/05(火) 17:51:36.40ID:lyIzARh6 
 >>470 
 とりあえずコテハン付けると良いよ 
 そうすれば不快に思う人はNGできるんで 
  
 気を付ける部分あればそうしますって言っててコテハン付けてって 
 言われてるんだから、付けなよ 
 それくらい出来るでしょ 
  
 そうすれば、答えないようにするからさ 
 じゃないと分からなくて 
508(1): 2023/09/08(金)17:36 ID:9GLaEiS+(1) AAS
 >>502 
 Debuglogでthisを出すとアタッチしたゲームオブジェクト名が出るけどthisはアタッチしたスクリプト自体な 
 他のコンポーネントをDebuglogで出せば分かるけど 
 transformはまんまインスペクタにあるコンポーネントだよ 
  
 this.transformはtransformコンポーネントを参照しててthis.transform.gameobjectはゲームオブジェクト自体を参照してる 
509(1): 2023/09/08(金)20:57 ID:+NIew3qL(1) AAS
 やっぱり何度やってもユニティアセットの決済ができん。 
 クレカ変えてもブラウザ変えてもダメ。 
 売る気ないのかな? 
510: 2023/09/09(土)06:36 ID:OIsKWx3l(1/4) AAS
 お前に売るアセットはねぇ!出禁じゃ!m9⎛´・ω・`⎞ドーン!>>509 
511(1): 2023/09/09(土)06:45 ID:kCAfKsgC(1/7) AAS
 クリック位置のオブジェクトをマウスでドラッグして移動したいのですが、以下のスクリプトだとドラッグ途中にオブジェクトが止まってしまいます。コメントアウトしている部分のtriangleは問題なくドラッグ出来るので、レイによる取得に問題があるようです。レイというのは案外不安定で、毎回同じ結果を返してくれるとは言えないのでしょうか? 
 public class getClickPositionObject : MonoBehaviour 
 { 
     [SerializeField] GameObject triangle; 
     GameObject clickedObject; 
     void Update() 
     { 
         if(Input.GetMouseButton(0)) 
         { 
             //triangle.transform.position = camera.main.screentoworldpoint(input.mouseposition) 
             //    + new vector3(0, 0, 10); 
             getObject().transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition) 
                 + new Vector3(0, 0, 10); 
         } 
     } 
     GameObject getObject()  
     {  
             //クリックされたゲームオブジェクト 
             clickedObject = null; 
             //レイキャストの始点と終点を決定 ,vector2 
             Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); 
             //ここでレイを飛ばす 
             RaycastHit2D hit = Physics2D.Raycast(ray.origin, ray.direction); 
             if (hit) 
             { 
                 clickedObject = hit.transform.gameObject; 
             } 
             return clickedObject; 
     } 
  
 } 
512: 2023/09/09(土)06:49 ID:kCAfKsgC(2/7) AAS
 >>508 
 スクリプト自体ですね 
 カッコの中を見るんですね 
 object(unityengine.gameobject) 
  
 みたいな形式になってるから、少し混乱(*´ω`*) 
513(2): 2023/09/09(土)08:28 ID:3k5BPIDG(1/6) AAS
 >>511 
 恐らくこのコードだとオブジェクトがマウス追随するのは 
 オブジェクトのうえにマウスがある時だけなんじゃないかな? 
 マウスの動きは結構早いからこれでは外れてしまう 
 俺ならノーマル状態、追随状態と複数の状態を作り 
 通常はノーマル状態でマウスクリック時に 
 オブジェクトがあった時追随状態に移行して 
 追随状態の時はオブジェクトの上にマウスがあるかどうかは 
 関係なく追随という仕様にする 
 それでマウスクリック解除でノーマル状態に移行 
514: 2023/09/09(土)10:05 ID:kCAfKsgC(3/7) AAS
 >>513 
 確かにマウス速度を早めると外れますね 
 フレームの実行速度をマウスの速度が上回ると駄目ってことですね 
 なるほど ありがとう(*´ω`*) 
515: 2023/09/09(土)10:16 ID:OIsKWx3l(2/4) AAS
 やっぱ低クオリティガイジ以外の回答者はクオリティ高いお!m9(*´ω`*)ドーン! 
516(1): 2023/09/09(土)11:00 ID:kCAfKsgC(4/7) AAS
 >>513 
 状態はステートで変化させる感じでしょうか。 
 一回取得したら、ボタンを離すまでそのオブジェクトを追従するという感じですよね 
517: 2023/09/09(土)11:37 ID:3k5BPIDG(2/6) AAS
 >>516 
 状態なんてなんでもいい 
 Switch文だろうがboolだろうがやりやすいやり方でやればいい 
 要するに「追随状態」を維持すればいいだけ 
 「追随状態」を維持すればマウスがターゲットオブジェクトから 
 離れてもターゲットオブジェクトが移動してくれる 
 追随状態の切り替え方も「マウス押しっぱなし 
 の時に追随」とか「マウス1回クリックするごとに 
 切り替え」とか好きに考えればいい 
 上のコードの「マウスがオブジェクトの 
 上の時だけ追随を認識」というのが 
 具合がよろしくない 
518: 2023/09/09(土)12:19 ID:kCAfKsgC(5/7) AAS
 ありがとう 簡単な分岐なのでboolでやってみます 
519(1): 2023/09/09(土)12:53 ID:kCAfKsgC(6/7) AAS
 かなり初歩的ですみませぬ 
 update内でboolを切り替える場合、ずーっとfalseに代入され続けてしまうのですが、クリック時にのみ発動してほしいイベントに使うわけですから、使わないときも代入され続けたら無駄ですよね。 
 こういうときはどんな書き方をするもんでしょうか、、、。 
  
     bool objectCapture = false; 
         void Update() 
     { 
         if (Input.GetMouseButton(0)) 
         { 
             objectCapture = true; 
             print("true"); 
         } 
         else { 
             objectCapture= false; 
             print("false"); 
         } 
520: 2023/09/09(土)13:08 ID:fHIrkeW+(1) AAS
 透明な板敷けば良いのでは 
 ドラッグ開始  clickedObjectにレイ飛ばしたオブジェクトを入れる。clickedObjectのコリジョンを消す 
 ドラッグ中 clickedObjectが空でないならclickedObjectをレイ飛ばした位置に移動。 
 ドラッグ終了 clickedObjectにコリジョンを復帰してclickedObjectを空 
521(1): 2023/09/09(土)13:18 ID:3k5BPIDG(3/6) AAS
 >>519 
 俺は平気で同じ代入してる 
 エキスパートの回答は知らない 
522: 2023/09/09(土)13:26 ID:3k5BPIDG(4/6) AAS
 同じ代入をするのが嫌なら「このステートでは 
 この処理、別のステートではあの処理」 
 みたいに明確に分けるしかないんじゃないの 
 今後エキスパートになろうと思ったら 
 必要なプロセスかもしれない 
523(1): 2023/09/09(土)13:46 ID:n240SOPq(1) AAS
 普通にmousebuttondown と up じゃ駄目なん? 
524(1): 2023/09/09(土)13:53 ID:3k5BPIDG(5/6) AAS
 >>523 
 それだと「クリックごとに切り替える」という 
 仕様を採用するということになるが 
 若干不便かな 
 今がノーマル状態なのか追随状態なのか 
 判別が紛らわしいから 
525: 2023/09/09(土)13:53 ID:3k5BPIDG(6/6) AAS
 >>524 
 これ勘違い 
 無し 
上下前次1-新書関写板覧索設栞歴
あと 477 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.024s