[過去ログ] 【3Dゲームエンジン】Unity質問スレッド34 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
448(2): 2018/03/14(水)15:49 ID:sLRo/hkc(1/3) AAS
質問、今2dのマルチプレイゲームを作っているんだけどキャラクターアニメーションの同期がわかんねえ
void FixedUpdate ()
{
if (!gameClear) {
if (!isLocalPlayer) {
return;
}
float x = Input.GetAxisRaw ("Horizontal");
if (x != 0) {
rigidbody2D.velocity = new Vector2 (x * speed, rigidbody2D.velocity.y);
Vector2 temp = transform.localScale;
temp.x = x;
transform.localScale = temp;
anim.SetBool ("Dash", true);
if (transform.position.x > mainCamera.transform.position.x - 4) {
Vector3 cameraPos = mainCamera.transform.position;
cameraPos.x = transform.position.x + 4;
mainCamera.transform.position = cameraPos;
}
Vector2 min = Camera.main.ViewportToWorldPoint (new Vector2 (0, 0));
Vector2 max = Camera.main.ViewportToWorldPoint (new Vector2 (1, 1));
Vector2 pos = transform.position;
pos.x = Mathf.Clamp (pos.x, min.x + 0.5f, max.x);
transform.position = pos;
} else {
rigidbody2D.velocity = new Vector2 (0, rigidbody2D.velocity.y);
anim.SetBool ("Dash", false);
}
isLocalPlayerでDashのアニメーションを止めているんだけどその時に一緒に書いてある画像反転も止めてしまうからそれをどうにかしたい、わかる人お願いします
449(1): 2018/03/14(水)20:12 ID:7XMp+DUD(1) AAS
>>448
ちょっと何言ってるかよくわからないんだけど、画像の反転ってスケールでやってるの?
スプライトのフリップ機能で反映してるなら、キャラの向きも通信に乗っけて各々のクライアントで反映させればいいだけじゃない?
450: 2018/03/14(水)21:42 ID:v8rqOjmA(3/3) AAS
for (int i = 0; i <MaxCount; i++){
instantiate(Bullet, transform.position, transform.rotation)
yield return new WairForSecond (0.5f)
}
でWhile(true)付けろ言ってたのって、このforも含めて、全体で付けろって意味だったのね。
チュートリアル進んで知りました。
451(2): 2018/03/14(水)21:56 ID:y9qk5kpZ(1) AAS
>>448
そのソースだけだとリモートキャラのアニメが動かないように思えるけど、
とりあえず自分ならこんな感じで書いてしまうな
float prevX;
void Update(){
if(!isLocalPlayer){
if(prevX - transform.position.x != 0){
anim.SetBool ("Dash", true);
}else{
anim.SetBool ("Dash", false);
}
prevX = transform.position.x;
}
}
452(2): 2018/03/14(水)22:28 ID:sLRo/hkc(2/3) AAS
>>449
スケールでやってるよ
スプライトのフリップ機能ってtransform.localScale.x を -1 にするやつのこと?
それだったらやってあるけど
453(1): 2018/03/14(水)22:32 ID:sLRo/hkc(3/3) AAS
>>451
これでやれば一応動くけど画像の反転だけが反映されない
書いてもらったコード打たせてもらったらDashのアニメーションと画像の反転が反映されなかった
454(1): 2018/03/14(水)23:14 ID:ay2tdaOQ(1) AAS
>>452
スケールの同期が出来てないだけじゃない?
ポジションと同じように同期させたらいいんじゃない?
もしくは既に回転が同期できてるならY軸回転で反転するのもありだよ
455(1): 2018/03/14(水)23:17 ID:DW09Blag(1) AA×
>>452-453>>451

456(2): 2018/03/15(木)02:08 ID:bx65uHxV(1) AAS
>>454
>>455
俺が理解できてないせいでやっぱりできないわ
457: 2018/03/15(木)09:00 ID:kkasSWTd(1/3) AAS
>>456
NetworkTransform使ってるんだよね?
使ったことないからわからんけど、これって位置と回転は同期してくれそうだけど、スケールの同期はしないんじゃないの?
とりあえず、syncRotationAxisをYにして、向きをY軸回転(0°と180°かな)でやってみなよ
458: 2018/03/15(木)09:07 ID:0C9Bqq38(1) AAS
>>456
プログラムの知識がない人はアセットを買いましょう
459: 2018/03/15(木)09:18 ID:YQxB4pmO(1) AAS
スクリプト貼られて有意義なスレの流れだな
もっとプログラマ来て欲しい
460(1): 2018/03/15(木)09:21 ID:4BgcVUZ6(1) AAS
プランナーとデザイナーは消えろ
ここはプログラマのスレだ
461: 2018/03/15(木)10:02 ID:Uy73PHFi(1) AAS
別にええじゃろ
PlayMakerでもArborでも宴使ってもUnity使いであることには変わらんわけだし
462(1): 2018/03/15(木)10:15 ID:1EX6mctr(1/3) AAS
webGLの最初のローディング画面の修正方法を探しているのですが、どこかに解説ありますでしょうか。公式のマニュアルは見たのですがわからず…
463(1): 2018/03/15(木)11:13 ID:kkasSWTd(2/3) AAS
>>462
何をどう変えたいの?
起動ページになるHTMLのテンプレートを入れ替えたいだけならドキュメントあるよ
外部リンク[html]:docs.unity3d.com
464: 2018/03/15(木)11:21 ID:SagnGWeY(1) AAS
>>460
おいコーダー早くしろw
465(1): 2018/03/15(木)12:16 ID:1EX6mctr(2/3) AAS
>>463
実はここの説明読んだのですがちんぷんかんぷんでした(汗
単純に画像表示してnow loading...と表示したいと思っています。
466: 2018/03/15(木)13:21 ID:kkasSWTd(3/3) AAS
>>465
それくらいのことならエクスポートされたファイルと、このドキュメントを見れば簡単にできるけど、HTMLとCSSとJavaScriptの知識は必須だから、まずはそこから勉強だね
467: 2018/03/15(木)13:33 ID:1EX6mctr(3/3) AAS
了解です。単純に読み込み中はjavascriptで描画してると書いてた意味が繋がりました。しっかりhtmlとjs見て自分で描画してみます。ありがとうございますm(_ _)m
468: 2018/03/15(木)14:44 ID:BOni+jVb(1) AAS
GPLだと思われるDLL(MySQL.DLL)が含まれてるアセットがいくつか売られてるけど、そういうのってUnityとの契約の上で問題ないんかな?
これが良いのなら俺もアセットを売りたい
469(2): 2018/03/15(木)18:35 ID:YfN1MEuH(1/3) AAS
スクリプトについての質問なんですが、Camera.ScreenPointToRayのリファレンス
外部リンク[html]:docs.unity3d.com
に書いてあるのをコピペすると
Ray ray = camera.ScreenPointToRay(new Vector3(200, 200, 0));
の部分で、暗黙的にRayに変換できないとエラーが出るのですが、何かやり方が間違っているんでしょうか。使用しているUnityのバージョンは2017.3.1.f1(64bit)です。
470(1): 2018/03/15(木)19:09 ID:BT4tlmQO(1) AAS
マインクラフトのインベントリのようなものを作りたいと思っています
つまりインベントリ内の位置情報も持つ必要があると思うんですが
どういうクラスにしたらいいか迷っています
public class Inventory
{
Item item(アイテムの名前やら効果やらが入ったアイテムクラス)
int slotIndex(インベントリ内の位置情報)
}
このクラスのListを持っていれば大丈夫でしょうか?
それとももっといい方法ありますか?
471(2): 2018/03/15(木)21:20 ID:sQ+WQzf2(1) AAS
>暗黙的にRayに変換できないとエラーが出る
明示的に「Ray ray = (Ray)camera.Scree〜」でおkのはず。
472: 469 2018/03/15(木)21:44 ID:YfN1MEuH(2/3) AAS
>>471
明示的に変換しようとすると 'UnityEngine.Ray' を 'Ray' に変換できません
とやはりエラーが出ます。リファレンスが5.4のものなので何か変更があったんじゃないかと思っているんですが・・・
473(1): 2018/03/15(木)21:45 ID:jJuAW3PH(1/3) AAS
質問失礼します。
Cameraで見ている画面を一時停止して、写真のような機能を作りたいと思っています。
流れとしては、携帯オブジェクトの画面にメッシュを設置、外カメの位置に置いたCameraからマテリアルを通じて画面に投影
そのままカメラの画面を停止(撮影)して、他オブジェクトにその撮影したマテリアルを割り当てて表示する
というのを考えていますが、カメラの一時停止の方法が分かりませんので教えてもらいたいです。
474(2): 2018/03/15(木)22:07 ID:H8+EJV9Q(1/3) AAS
>>470
俺ならListに持たせるのはIdと個数だけかな
同じ Idで属性違いとか、アイテム毎に耐久値とかあるならアイテムクラスが必要だけど
slotIndexもList内の場所がindexそのものだし要らないと思う
475(1): 2018/03/15(木)22:15 ID:H8+EJV9Q(2/3) AAS
>>473
カメラを止めるというかrenderTextureに残す形で出来ると思う
476: 2018/03/15(木)22:30 ID:H8+EJV9Q(3/3) AAS
>>474
補足だけど
アイテムの名前、効果、効果値、買値、売値、アイコンファイル名、prefab名、
その辺は全部エクセルで管理してランタイムではscriptableObjectに変換してそのListやdictionaryにぶち込んでおく
Idからそのアイテムの情報を取得する役割のmasterDataクラスを作る
477(1): 2018/03/15(木)22:36 ID:jJuAW3PH(2/3) AAS
>>475
なるほど、難しくない操作かもしれませんが、初心者なもので・・・
よければご教授願えませんか
上下前次1-新書関写板覧索設栞歴
あと 525 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.021s