質問編集履歴

1

2020/09/10 04:22

投稿

yunyunno
yunyunno

スコア16

test CHANGED
File without changes
test CHANGED
@@ -2,15 +2,35 @@
2
2
 
3
3
  C:直下のアニメーションファイルを読み込み、unityで実行時に再生したいと思っています。
4
4
 
5
+
6
+
7
+ //以下訂正しました
8
+
9
+  ご指摘ありがとうございます。
10
+
11
+
12
+
13
+ 現状のプログラムは以下です。
14
+
15
+ ぐちゃぐちゃになっていて恐縮なのですが、
16
+
17
+
18
+
19
+ 1.そもそもアニメーションファイルがUnity外部から呼び出しできない
20
+
21
+ 2.呼び出したアニメーションのComponent方法がまちがっている
22
+
23
+
24
+
25
+ などと、どの部分うまく動作しないのか原因が定まらず、困惑している状態です。
26
+
5
- 同様のもので音楽の呼び出しは実装できていて(下記プログラム参照)こちらを発展させ実現したいと思っています。
27
+ パスは、音楽データなど適合できているので間違っないと思います。
6
28
 
7
29
  アドバイスをいただけると嬉しいです。
8
30
 
9
31
 
10
32
 
11
33
  -------------------------------------
12
-
13
-
14
34
 
15
35
  using UnityEngine;
16
36
 
@@ -28,61 +48,71 @@
28
48
 
29
49
 
30
50
 
31
- public class ImportMusic : MonoBehaviour{
51
+ public class ImportAnim : MonoBehaviour{
32
52
 
33
- public AudioClip audioClip;
53
+ [SerializeField]AnimatorOverrideController overrideAnimetorController;
34
54
 
55
+ GameObject targetChar1;
56
+
57
+ Animator targetAnimator;
58
+
35
- private AudioSource audioSource;
59
+ AnimationClip Animationclip;
60
+
61
+
36
62
 
37
63
 
38
64
 
39
65
  const string _FILE_HEADER = "file://";
40
66
 
41
- string path ="C:/work/Liquid_Love.mp3";
67
+ string path="C:/Demo/アニメーションファイル.fbx";
42
68
 
43
69
 
44
70
 
45
- private IEnumerator LoadAudio(string path){
71
+ private IEnumerator LoadAnimation(string path){
46
72
 
47
73
 
48
74
 
49
75
  // ファイル読み込み
50
76
 
77
+ WWW request = new WWW(_FILE_HEADER + path);
78
+
51
79
  yield return null;
52
80
 
53
81
 
54
82
 
55
- //呼び出したデータをautoClipに格納する
56
83
 
84
+
57
- audioClip = (AudioClip)AudioClip.Instantiate(Resources.Load("Liquid_Love"));
85
+   targetChar1 = GameObject.Find("untiychan");
86
+
87
+ AnimationClip = request.AnimationClip;
88
+
89
+ //メモ記述
90
+
91
+    //AnimationClip = request.GetAnimationClip();
58
92
 
59
93
 
60
94
 
61
- //audioSourceに格納する
62
95
 
63
- audioSource = gameObject.GetComponent<AudioSource>();
64
96
 
65
- audioSource.clip = audioClip;
97
+ //公式の記述
66
98
 
99
+ targetAnimator = targetChar1.GetComponent<Animaton>().play();
100
+
67
- audioSource.Play();
101
+ targetAnimator.clip = AnimationClip;
68
102
 
69
103
 
70
104
 
71
- }
72
105
 
73
106
 
107
+ // clip = (AnimationClip)AnimationClip.Instantiate(Resources.Load("changeAnim"));
74
108
 
75
- void Start(){
109
+ // AnimationClipPair[] clipPairs = overrideAnimetorController.clips;
76
110
 
77
- StartCoroutine(LoadAudio(path));
111
+ // clipPairs[0].overrideClip = clip;
78
112
 
79
- }
113
+ // overrideAnimetorController.clips = clipPairs;
80
114
 
81
-
82
-
83
- void Update()
115
+ // targetAnimator.runtimeAnimatorController = overrideAnimetorController;
84
-
85
- {
86
116
 
87
117
 
88
118
 
@@ -92,4 +122,14 @@
92
122
 
93
123
 
94
124
 
125
+ void Start(){
126
+
127
+ StartCoroutine(LoadAnimation(path));
128
+
129
+ }
130
+
131
+
132
+
133
+
134
+
95
135
  }