島国大和のド畜生
■次世代くん ■プログラム ■アンテナ ■LINKS ■過去ログ倉庫---
amazon_logo.jpg スポンサーリンク
今日のゲーム製作
16:50 ちょっと動作が変わったので書き直し。
20:23 さらに追記

よく理解しないまま、unityでjavascriptを使っているので。(変数が実体なのかアクセスを書いてるのか解らん)
攻撃食らった時にフラッシュするという動作を以下のように書いていて。

var hitMaterial:Material;//hit時のマテリアルをD&Dして入れておく
private var baseMaterial:Material ; //もともとのマテリアル保存用マテリアル
privatevar materialTEX:MeshRenderer;//マテリアル参照先
function Start ()
 {
 materialTEX=gameObject.GetComponentInChildren(MeshRenderer);
 baseMaterial=materialTEX.sharedMaterial;//ベースのマテリアルを保存
 }

function hitFlash()
 {
 materialTEX=gameObject.GetComponentInChildren(MeshRenderer);// ←
//↑これなくてよさそうだけど、無いとエラー。
//親子付けしたユニットでそれぞれコレを使った場合にヘンな動作。

 materialTEX.sharedMaterial=hitMaterial;//色を変更する
 yield WaitForSeconds(0.05f); // 時間経過
 materialTEX.sharedMaterial=baseMaterial;//ベースのマテリアルに戻す
 }


なんか、どっか間違っている気がしないではないのだがコレで動いていて。
動いているのでブラックボックス化して使っていたのだけど、最近、親子付けされたモデルでコレを用いたらへんな動作をしており。
 ぬぬぬぬぬ。と頭を抱える所存。
unity013.jpg こういうボス。本体と、コアの前のシールドが親子関係にある。
 ヒットフラッシュでエラーが出たり、変な表示になる。
 銃座も親子関係にあるのだが、特に問題なく動作。

 明らかに何か間違った書き方をしてると思うのだが、独学&コピペプログラムなので手に負えない;

unity

とりあえず、朝が来たので寝るが。あとで調べねばmemo。
---
プロのプログラマーに聞いたところ、inChirdenで参照する場合、子供が大量に居ると、どれが取得されるかわからないので、なんか仕組みを入れるか、そもそも、FBXをプレファブにするときちゃんと整理しろと;;整理してよかったんだ;;
メシ食ったら試す。
---
整理したらまともに動作した。
俺はこれで土日をつぶしたぜ;;

twitterなどでいろいろ教えてもらい、一人で考え込むよりよほど充実して進めることが出来たので。
教えてもらった人に感謝。



2014/04/20(日) 07:10:25| 固定リンク|日記| トラックバック:0 | このエントリーを含むはてなブックマーク|
ワークエリア
スポンサーリンク
この記事のトラックバックURL
この記事へのトラックバック
COPYRIGHT © 2004 POWERED BY FC2 ALL RIGHTS RESERVED.