質問編集履歴

2

コードの追記

2022/07/31 09:41

投稿

concern12
concern12

スコア18

test CHANGED
File without changes
test CHANGED
@@ -8,3 +8,39 @@
8
8
  その場合、指定したpixelの太さにするために、ズーム後の頂点座標にしないようにするためにはどうすればよろしいでしょうか?
9
9
 
10
10
  初歩的な質問となりますが、どうぞよろしくお願いいたします。
11
+
12
+ 使用しているMesh生成のコード
13
+ ```cs
14
+ public static Mesh CreateLineMesh(Vector3 center, float length, float thickness)
15
+ {
16
+ var mesh = new Mesh();
17
+ var triangles = new int[6];
18
+ triangles[0] = 0;
19
+ triangles[1] = 1;
20
+ triangles[2] = 2;
21
+ triangles[3] = 2;
22
+ triangles[4] = 3;
23
+ triangles[5] = 0;
24
+ var vertices = new Vector3[4];
25
+
26
+ var left = center.x - length / 2.0f;
27
+ var right = center.x + length / 2.0f;
28
+ var bottom = center.y - thickness / 2;
29
+ var top = center.y + thickness / 2;
30
+
31
+ vertices[0] = new Vector3(left, bottom, center.z);
32
+ vertices[1] = new Vector3(left, top, center.z);
33
+ vertices[2] = new Vector3(right, top, center.z);
34
+ vertices[3] = new Vector3(right, bottom, center.z);
35
+
36
+ var nornals = vertices.ToArray();
37
+
38
+ mesh.SetVertices(vertices);
39
+ mesh.SetTriangles(triangles, 0);
40
+ mesh.SetNormals(nornals);
41
+
42
+ mesh.RecalculateBounds();
43
+
44
+ return mesh;
45
+ }
46
+ ```

1

文章の修正

2022/07/30 12:16

投稿

concern12
concern12

スコア18

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,6 @@
1
+
2
+ 指定したpixelの太さの線を描画するShaderそのものがネット上に探してもなかったため、下記サイトのShaderを改修して、指定したPixelの太さの線を描画するShaderを実装しようとしているのですが、当方Shaderど素人につき、行き詰まったため質問を投稿いたしました。
1
3
  [【Unity】カメラからどれだけ離れても、最低1ピクセルは表示されるように保障する \- 神様は有休消化中です。](https://appleorbit.hatenablog.com/entry/2016/03/19/155623)
2
- 指定したpixelの太さの線を描画するShaderそのものがネット上に探してもなかったため、上記サイトのShaderを改修して、指定したPixelの太さの線を描画するShaderを実装しようとしているのですが、当方Shaderど素人につき、行き詰まったため質問を投稿いたしました。
3
4
 
4
5
  上記サイトのShaderを使ったMeshに対してズームすると、当然ながらそのObjectが大きく表示されます。
5
6
  指定したpixelの太さの線を描画することが目的のため、ズームしても大きくならないようにする方法を自分なりに調べたところ、`UnityObjectToClipPos(v.vertex)`によってズーム後の頂点座標になってしまっているからだと考えているのですが、正しいでしょうか?