[過去ログ] 【3Dゲームエンジン】Unity質問スレッド34 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
426: 2018/03/12(月)15:53 ID:MhmtbbWk(1) AAS
>>425
AnimationじゃなくてAnimatorじゃね?
427: 2018/03/12(月)15:53 ID:1vmg4KFE(2/2) AAS
>>425
自己解決しました、スレ汚し申し訳ありませんでした。
ファ、ファイル名…初歩的過ぎて恥ずかしい…吊ってきます。
428: 2018/03/12(月)19:41 ID:ydFU9Zi0(1/2) AAS
公式チュートの
外部リンク:unity3d.com
で、
using UnityEngine;
public class Bullet : MonoBehaviour
{
public int speed = 10;
void Start ()
{
GetComponent<Rigidbody2D>().velocity = transform.up.normalized * speed;
}
}
とありますが、transform.upはそのオブジェクトのY方向がノーマライズして出てくるのでこれを再度.normalizedしてるのはなぜか悩んでます。
forwardと同じ機能なんだろうけど、ああいうの全部ノーマライズされてるんじゃなかろうかと・・・
429(1): 2018/03/12(月)20:08 ID:u53IkbRl(1) AAS
紙芝居+クリックアドベンチャーのようなゲームを制作予定で
大量の画像を効率よく管理・差し替えする手法を検討・探しています。
以前作ったとき地道にフォルダ+ファイル命名で管理していたのですが
画像ファイルが増えてきたとき深いフォルダ階層をたどったり差し替えが多くなったとき面倒で
なにか大量のファイルを管理・差し替えしやすい手法・外部ツール・アセット等無いでしょうか。
430: 2018/03/12(月)20:10 ID:ydFU9Zi0(2/2) AAS
ひょっとして機体が42度とか2度とか121度とか回転するとそうとも言えないのだろうか
考えたらこれでした。
431: 2018/03/13(火)09:53 ID:cPEKsQ0j(1) AAS
>>429
宴
432: 2018/03/13(火)10:01 ID:4ColfDWo(1) AAS
紙芝居作るなら宴しかないわな
あれあるのに一から実装とか頭おかしいで
433: 2018/03/13(火)12:41 ID:gbzm1UyD(1/2) AAS
仕様が豪華になりすぎて必要ない機能が多いから自分は一から自作してる最中だわ。
あと2D前提に偏ってるから3Dキャラ使いたい自分にはとょっと違う感じだったな。
434: 2018/03/13(火)13:32 ID:mS4wOgp9(1) AAS
2Dげーでも3Dオブジェクト使えるよ
いわゆる2.5次ってやつ
435(1): 2018/03/13(火)19:26 ID:4Wos15D9(1) AAS
429です。
作りたいイメージはReignsのようなパラパラと絵をめくるイメージで
構造は大分シンプルなので宴は無しでもいけるかな・・と思っちゃって。
宴でも作れそうなのですが、ほとんどの機能は使わなそうです。
ただエクセルでシナリオ書けるのは凄い良さそう。
これだけのために宴ベースで作るのも有りでしょうか・・・。
ちょっと作り始めてるけど色々検討中です。
436: 2018/03/13(火)19:53 ID:gbzm1UyD(2/2) AAS
>>435
エクセルから値持ってこれる無料のアセットあるよ
Unity エクセルで検索したら出てくるから試したら?
437: 2018/03/13(火)20:05 ID:AlvYUnP1(1/2) AAS
Reignsのような紙芝居程度ならNGUIでも出来そうだね。
NGUIならアトラス(画像のパック)からスプライト名を指定すれば
画像を簡単に差し替えることが出来る。
ページめくりとかの演出もNGUI付属のTweenでちょちょいと実装できるし便利よ。
438: 2018/03/13(火)20:09 ID:TBN5kbnw(1/4) AAS
2Dシューティングのチュートリアルの弾発射のやつ
外部リンク:unity3d.com
でStart()メソッドをコルチーンにして弾生成してるのが気に入らないので。
プレーヤーがスポーンしてゲームはじまったらオートで弾を連射しまくるので。
Spaceキー押したら弾発射に改造しようとしているのですが。
Project Settingでは
画像リンク
として、Player.csで
private IEnumerator Buletto() //コルチーン化したStartメソッド
{
Instantiate(Bullet, transform.position, transform.rotation); //変数BulletをPlayerの位置と回転のトランスフォームに合わせてインスタンス化
yield return new WaitForSeconds(0.05f); //インターバル0.05秒待つ
}
void Update () {
if (Input.GetKey("Fire1"))
{
StartCoroutine("Buletto");
}
else {
StopCoroutine("Buletto");
}
}
としましたが、間違ってるようで機能しません。
間違ってるとこわかるならご指摘お願いします。
439: 2018/03/13(火)20:19 ID:TBN5kbnw(2/4) AAS
エラーログにFire1 is Unknownってでる
なぜだ
440: 2018/03/13(火)20:23 ID:TBN5kbnw(3/4) AAS
KeyCode.Spaceに変えたら出来ました。
自己解決すまそ
441: 2018/03/13(火)21:26 ID:TBN5kbnw(4/4) AAS
update()にinput .GetKey入れてるせいかコルチーンでwaitforsecound調整してるのにビームみたいな連射してしまう。
ここらへんわからんわ。
442: 2018/03/13(火)21:36 ID:lZjB4yL5(1) AAS
unityをさくさく動かして録画して動画編集するための最低限必要なスペックてどんなもんでしょう
443(1): 2018/03/13(火)22:23 ID:AlvYUnP1(2/2) AAS
>update()にinput .GetKey入れてるせいかコルチーンでwaitforsecound調整してるのにビームみたいな連射してしまう。
WaitForSecondはwhile(true){}ループ内にあるからインターバルになってるのであって
whileを外したら無意味になるぞ。
やるならコルーチンが終了してるかどうかをinput時に戻り値で判定すべし。
444(1): 2018/03/14(水)00:07 ID:fTAf6LYh(1) AAS
自分だったらOnEnableで弾発射コルーチンをキックして発射管理はそっちに任せる、Updateはコルーチンで使うフラグを切り替えるだけにするかな。
あと弾のインスタンスは初期化時に指定数用意しておいて使い回す。
445: 2018/03/14(水)00:51 ID:v8rqOjmA(1/3) AAS
>>443
While(true)は無限ループ
これだと一度このコルチーンに入ると永久に連射してるっぽかったです。
チュートリアルがおかしいのかも。
Breakの無いループは普通は使わない。
if でinput.getkeyのやつもコルチーンにして、そこからまたコルチーン入れてみたらけっこういい挙動でした。
回答ありがとう。
446: 2018/03/14(水)00:57 ID:v8rqOjmA(2/3) AAS
>>444
OnEnableいいですね。
ちょっと試してみます。
UpdateにStartCorutine書くと次のフレームもコルチーン入ってるような気がしてスッキリ来なかったのです。
まあ、同じコルチーンのStart命令はシステム的にキックしてないかなと思ってるのですが。
447: 2018/03/14(水)13:19 ID:Ezmy+XfL(1) AAS
緊急速報
(+)【IT】AMD製CPUに「致命的」欠陥 悪用でPC乗っ取りも
2chスレ:newsplus
(BIZ+)【CPU】AMD製CPUに「致命的」欠陥 悪用でPC乗っ取りも
2chスレ:bizplus
(ゲハ)【PS4/XONE】AMDのCPUに致命的な欠陥【Ryzen】
2chスレ:ghard
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

上下前次1-新書関写板覧索設栞歴
あと 547 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.027s