質問編集履歴

4

文章を修正

2021/07/28 12:52

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -3,6 +3,10 @@
3
3
 
4
4
 
5
5
 
6
+
7
+ #######やりたい事
8
+
9
+ ボーンを使って残像を表示させる方法が知りたい。
6
10
 
7
11
 
8
12
 
@@ -10,7 +14,7 @@
10
14
 
11
15
  ######試したこと
12
16
 
13
- ボーンをその時のモーションのボーンに上書き(変化なし)
17
+ ボーンをその時のモーションのボーンに上書
14
18
 
15
19
 
16
20
 

3

タイトルを修正

2021/07/28 12:52

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- [Unity3D] モーションに合わせた残像をボーンを使って表示させる方法
1
+ [Unity3D] ボーンを使って残像を表示させる方法
test CHANGED
File without changes

2

タイトルと質問文を修正しました。

2021/07/28 01:56

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- [Unity3D] スクリプトをアタッチしているオブジェクトのその時のアニメーションのSkinnedMeshRenererる方法
1
+ [Unity3D] ーションに合わせた残像ボーンを使って表示させる方法
test CHANGED
@@ -1,10 +1,4 @@
1
- 提示コードですがスキンメッシュレンダラーを使ってプレイヤーの残像を表示するコードのですがプレイヤーはモーションを利用しているためその時のモーション例えば方向モーション中だったらそのモーションの時の形の残像を生成してほしいのですがその場合どうすればいいのでしょうか?makeMeshの変数this.gameObject等の置き換えてみましたができませんでした。
2
-
3
-
4
-
5
- 試したこと
6
-
7
- makeMesh変数をthis.gameObjecに置き換える
1
+ 提示コードのFixedUpdate()部ですが残像を表示するコードです。現状では2秒に一回残像を表示するのですがその時にモーションが待機モーションで生成されてしまいます。自分は歩行モーションの時は歩行モーションの残像を生成してほしいのですがその場合どうすればいいのでしょうか?ボーンやスキンメッシュ触ったり色々しましたが実装の仕方がわかりません。コメント部のInstantiate()関数を用いる方法は処理が重たくまた同じモデルを生成するのは重たいのボーンをを用いる処理の軽い方法で実装したいです
8
2
 
9
3
 
10
4
 
@@ -12,7 +6,23 @@
12
6
 
13
7
 
14
8
 
9
+
10
+
11
+ ######試したこと
12
+
13
+ ボーンをその時のモーションのボーンに上書き(変化なし)
14
+
15
+
16
+
17
+
18
+
19
+ 参考サイト: https://qiita.com/madoramu_f/items/fada99645cd03fd7f515
20
+
21
+ 参考動画: https://www.youtube.com/watch?v=QAFL1NXnqog&t=122s
22
+
15
- ![イメージ説明](2f681d7379979fb1f723a9a97160c8bd.png)
23
+ ![イメージ説明](aa772ae0e5ee5c2fb86e169511a9f25c.png)
24
+
25
+
16
26
 
17
27
  ```cs
18
28
 
@@ -24,11 +34,17 @@
24
34
 
25
35
 
26
36
 
27
- public class BakeMesh : MonoBehaviour
37
+ public class After_Image : MonoBehaviour
28
38
 
29
39
  {
30
40
 
31
41
  private SkinnedMeshRenderer bakeCloneMesh;
42
+
43
+
44
+
45
+ [SerializeField] private ParticleSystem afterImageEffect;
46
+
47
+ private ParticleSystem afterImage;
32
48
 
33
49
 
34
50
 
@@ -48,9 +64,19 @@
48
64
 
49
65
  {
50
66
 
67
+ //afterImage = Instantiate(afterImageEffect,transform.position,transform.rotation);
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+ // obj = Instantiate();
76
+
51
77
  obj = Instantiate(bakeMeshObj);
52
78
 
53
- obj.enabled = false;
79
+ //obj.enabled = false;
54
80
 
55
81
  bakeCloneMesh = obj.GetComponent<SkinnedMeshRenderer>();
56
82
 
@@ -66,7 +92,7 @@
66
92
 
67
93
  {
68
94
 
69
-
95
+ //afterImage.transform.position = transform.position + new Vector3(0,transform.localScale.y / 2 ,0);
70
96
 
71
97
  }
72
98
 
@@ -102,23 +128,27 @@
102
128
 
103
129
  {
104
130
 
105
-
131
+ Debug.Log("残像生成");
106
132
 
107
133
  //Destroy(obj.gameObject);
108
134
 
109
135
 
110
136
 
111
- obj = Instantiate(bakeMeshObj);
137
+ //obj = Instantiate(bakeMeshObj);
112
138
 
139
+ //obj = Instantiate(GetComponent<SkinnedMeshRenderer>());
140
+
113
- bakeCloneMesh = obj.gameObject.GetComponent<SkinnedMeshRenderer>();
141
+ //bakeCloneMesh = obj.gameObject.GetComponent<SkinnedMeshRenderer>();
114
142
 
115
143
 
116
144
 
117
145
  Mesh mesh = new Mesh();
118
146
 
119
- obj.GetComponent<SkinnedMeshRenderer>().BakeMesh(mesh);
147
+ this.gameObject.GetComponent<SkinnedMeshRenderer>().BakeMesh(mesh);
120
148
 
121
149
  bakeCloneMesh.sharedMesh = mesh;
150
+
151
+ bakeCloneMesh.bones = this.gameObject.GetComponent<SkinnedMeshRenderer>().bones;
122
152
 
123
153
  bakeCloneMesh.transform.position = transform.position;
124
154
 

1

文章を修正

2021/07/28 01:36

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- スクリプトをアタッチしているオブジェクトのその時のアニメーションのSkinnedMeshRenererを得る方法
1
+ [Unity3D] スクリプトをアタッチしているオブジェクトのその時のアニメーションのSkinnedMeshRenererを得る方法
test CHANGED
File without changes