【ゲームエンジン】Unityなんでも質問スレpart3
レス数が950を超えています。1000を超えると書き込みができなくなります。
dragonbonesに詳しい人いますか?
試しに触ってみたんだけど、テストで作ったものを出力したら
「dbbin」「json」「png」の3つが出力されたんだけど
これをもう一度dragonbonesで読み込むにはどうしたらいいんでしょう? インポートでも読み込ませる事ができない >>885
このクズ、今更何言ってん?
>>884 どうみてもこいつがクズだろ アプリ起動時のUnityロゴを消すためにファイナルビルド時だけPlusしてリリースしたらPlus解除とかしていいの? >>884
結局、おまえは学生レベルのすら作れないのに
偉そうなマウントレス並べてるだけの人ってことじゃん
そういうの止めろよ >>890
恐らくだが
ライセンス料はunity editorを使う場合発生(以前サポートから言われた)
リリース後editorを使用しないのであれば問題無しだと思われる
無料の条件を満たしているのであれば作業はPersonal
ビルド、リリース時はPlusって感じで使えるんじゃね? 初心者です、アセットの安売りやってるみたいですがどれ買えばカッコいいゲームできますか?予算はあまりありませんが頑張ります。 >>892
レスありがとう
最速でも1ヶ月分の料金はかかるよね >>893
予算を全部使って買えるだけ買いましょう
頑張ってください >>895
ありがとうございます、とりあえずリアルトゥーン、ファイナルIK、ダイナミックボーン、マジックコーフを買いました。
予算がつきましたので次回セールまでに予算を貯めようと思います。 >>897
おそらくですが4ヶ月周期でビックなセールが来るのと予想てしいます。
ワタクシ初心者なのでアセットの利用方法からコツコツと勉強するので、理想のゲームはつくれないかもしれなせんが、ミニゲームぐらいは作れるかもしれません。 >>898
それでいい。
次のセールまでに何かしら完成させるという意志の力が必要。でなけりゃ萎えるよ。 http://s.kota2.net/1618323637.png
タイルマップを使うとつなぎ目に線が入ってチカチカ映り込むのですが、
どうすれば解消できるでしょうか? >>900
シーンビューでなにか重なってないか確認出来る? 素材のSpriteの設定かもなぁ
FilterModeをいじってみたり >>900
Project Setting→Quality→Anti AliasingをDisabledにする
俺はこれで解決した Editor上のプレイヤーで操作中にCTRL+Sの入力が入ると、
Editorのセーブも発動しちゃって警告が出るのが鬱陶しいんですが
ショートカットを変更する以外にスクリプトなどで対処する方法ありますか? >>907
そもそもそのゲームでもセーブに割り当てた方がいいと思うが >>907
え、何故避けた方がいいんですか?
WASD操作のFPSやACTでCTRLとSHIFTにしゃがみやダッシュの割り振りなんてめっちゃめちゃポピュラーな操作だと思うんですが >>906
解決しました!諦めかけてたので助かりました! >>907
ShortcutManagerで競合しないプロファイルを作ってから
スクリプトでプレイモード開始で変更、プレイモード終了で戻すってのを作ればいいらしい。
フォーラム見てみると8年前から継続していた根の深い問題みたい。 >>912-913
うわ、マジでそのまんまのトピックが8年前から継続してるのか。情報ありがとうございます。
明らかに問題なのに何で修正されてないんだろ… https://github.com/TsubokuLab/VRMLipSyncContextMorphTarget
このスクリプトを入れたいのですが
>OVRLipSyncのサンプルのOVRLipSyncContextMorphTargetの部分を、VRMLipSyncContextMorphTargetコンポーネントに入れ替えるだけ。
の意味がよくわかりません
サンプルというのは何のことなのでしょうか >Nullreferenceexcep:object reference…
ありふれたバグなんだろうが結局どう対処していいか分からん(´・ω・`) NullReferenceExceptionの原因は9割がインスペクターでのアタッチ忘れなのでまずはそれを疑う
残りの1割はListなどのコレクションまたはオブジェクトを生成してない問題
どこがnullなのかはエラーメッセージに書いてあるから、それがちゃんとアタッチされてるか、生成されてるかを見ていくだけ GetComponent()で取得できねぇ…
って思ったら子オブジェクトの方に付いてたとかある Awake、OnEnable で初期化前のオブジェクトいじってヌルぽ >>917
とりまエラー起こしてる場所は分かるでしょ?
その上で何でどう対処したらいいかわからんになってるのがわからん みんなゲームのfpsとアニメーションのレート合わせてる?
俺30fpsのゲームなのに60fpsでアニメーション作っちゃってるの気づいてからfps合わせるべきって聞いてげんなりしてるんだが あ、でもいざとなったらサンプルレートだけ変えて再生速度変えればいいわけだからそんなに手間でもないか ん?
全フレームベタ持ち?
3Dなら有り得ない。2dの話かな。 上のNullは拡張子書いたらオブジェクト認識したけどなんか違和感ある…これが解決じゃない気がする(´・ω・`) >>922だが、基本的にフレームレート変わってもアニメのサイズ変わらんことがわかったので多少キー飛んでもそもそものキー多いから上手い具合になるだろうしこのままやることにするわ
すまんな 多分君俺が言ってること理解してないよ
ロクにアニメーションいじったことないのはよくわかった 最近unityを勉強始めた初心者なのですが
作った簡単なゲームをビルドして友達に渡したらwindowsにウィルスと判定されて開けないと言われました
ビルド設定が悪かったのでしょうか?知ってる方がいましたら教えてください 複数のwinで判定されるのなら感染してる可能性も考えた方がいいね。 俺も連絡先交換しようとしたら「LINE壊れてる」って言われたことあるから心配すんな Development Buildにチェックしてたら
Windows Defenderにビルドを弾かれることならあった >>930ですが、ごめんなさい情報が少なすぎました。
試してわかった事は自分のPCでビルドして起動すると問題ないのですが、
圧縮してdiscordでファイルを渡してダウンロード、
展開すると自分でも起動前にウィルス警告が出ました。
discordに渡す前のファイルを展開しても警告は出なかったので、渡し方の問題でしょうか?
中には起動する人もいるのですが、最初の1回は警告が出たみたいです。
Development Buildチェックは外してありました。 単にEXEファイルをダウンロードしたから警告してるだけだったりして
その警告内容をここには書けないの? ゲームじゃないけどうちで作ってるアプリもユーザーによってはウィルスソフトに引っかかる
.NETで作ってるものだけど。 >>930
皆様ご意見ありがとうございます。
エラーの内容なのですが、
Windows によって PC が保護されました
Microsoft Defender SmartScreen は認識されないアプリの起動を停止しました。このアプリを実行すると、PC が危険にさらされる可能性があります。
アプリ: アプリ名.exe
発行元: 不明な発行元
でした。一応アプリ名は伏せたんですがアプリ名でウィルス判定されるなんてないですよね?
>>938
無知ですいません、入力周りとは具体的にどのような設定を指すのでしょうか? >>939
Unity smart screenとかキーワード入れるだけで色々出てくるよ
そういうので調べられるようにしたほうが良いよ >>930です。
>>940
ありがとうございます。調べてみて理解できました! EasySaveがいま50%オフになってるけどもっと安くなる時ありますか?
あと定価って前から75.9ドルでしたっけ?
ちなみにセーブ関連はまだ後回しなんで急ぎで必要なわけじゃないです。 >>942
去年の独身の日セールだったかで70%オフだったから買ったなあ むかし EasySave 買ったけど、いろいろめんどくさくて結局自前で保存するようになったな とりあえずGetComponentInChildrenだな EasySaveに限らずセーブデータ作成系のアセットって実装を公開してるわけだし、暗号化していてもデータ解析されやすいような気がするんだけど実際のとこどうなの?
特にEasySaveみたいな広く使われてるのヤツはクラッカーからしたらむしろ狙い目じゃないのかと思ったり セーブ解析されたらなんなんだ?
そういう事する奴はそれ自体を楽しんでる所もあるし顧客にもなる見込みも薄い圧倒的少数派なんだから放置でよくね? 暗号化や逆コンパイルについてちゃんと勉強してたらそんな疑問出ないぞ 3Dでアクションゲーム作ってます。エフェクトの実装方法で質問です。
キャラが歩いた時、砂漠上なら砂煙、雪原なら白い煙みたいなもの、海の浅瀬なら水面に波紋を表示させたいのですが
これらは各キャラにあらかじめパーティクルを仕込んでおいて該当するエリアに来たらactiveにするのと、そのエリアに来たらキャラのobjectにパーティクルをinstantiateする方法の二つの実装方法は思い浮かんだのですが、どちらも無駄がありそうで、どう実装しようか悩んでます。
皆さんはどのような実装されてますか?
キャラは10〜20人位同時に表示される予定です。 >>951
どっちも試してベターを選ぶ
どっちも使えないなら違う方法を見つける
俺は後者で煙を工夫するかな キャラクターにはキャラクター以外の情報を持たせないってのがプログラム開発の基本よ
他も同じでエリアごとに対応するスクリプトを書いてそのスクリプトが土煙やらそのエリアのスクリプトに出させる
もっともUnity自体はコンポーネント思考なので迷ったら立ち戻るぐらいで良いんだけど >>953
自分もその環境がプレイヤーに必要な情報を与える、って方が好きだわ >>951
自分の場合はエフェクトを管理する仕組みを用意して
キャラクタ側は地面の種類を特定して地面の種類に合わせたエフェクトを管理側にリクエストする
管理側の基本機能としては
・エフェクトが必要になった時に読み込んで再生、再生し終わったら無効化しておく(キャッシュ)
・無効化してあるエフェクトが必要になった場合は有効化して再生、再生中のエフェクトが更に必要になったら複製して再生
・よく使うエフェクトは事前に読み込んでキャッシュしておく
・キャッシュは増え過ぎたら掃除する
小規模なゲームならキャッシュとかせず単純にInstantiateするだけでも全然問題ないけど
キャラクタ側にエフェクトを入れておくような方法はサンプルレベルだと見かけるけど実戦的なゲーム開発では普通しないと思う 「VRoid」というアプリを使い、オリジナルの3Dキャラクターを作り、
アセットストアからstandard assetsをインポートし、
そのstandard assetsの中からThirdPersonAnimatorControllerだけを抜き取り、
オリジナルの3Dキャラクターを動かそうと(走ったり、ジャンプさせたりする)
考えているのですが・・・
これはstandard assetsのライセンス違反になるのでしょうか。 配列の任意の文章をログに表示するのと画面にただ表示するのまでは分かったんですが
配列の一部をセリフとして呼び出すにはどう書けばいいでしょうか
今だとクリックした際にテキストデータをただ上から読むだけなので任意の文章をテキストから抜き出してセリフとして読み込むようにしたいです public class NewBehaviourScript : MonoBehaviour
{
[SerializeField]
private Text dataText;
[SerializeField]
private TextAsset textAsset;
private string loadText2;
private string[] splitText2;
private int textNum2;//
// Start is called before the first frame update
void Start()
{
loadText2 = (Resources.Load("Test", typeof(TextAsset)) as TextAsset).text;
splitText2 = loadText2.Split(new string[] { "@br", "キ" }, System.StringSplitOptions.None);
textNum2 = 0;
dataText.text = "";
Debug.Log("現在の文章は" + splitText2[1] + "です");
} // Update is called once per frame
void Update()
{
dataText.text = string.Format(splitText2[1]);
if (Input.GetButtonDown("Fire1"))
{ }
else if (Input.GetButtonDown("Fire3"))
{
if (splitText2[textNum2] != "")
{
dataText.text = splitText2[textNum2];
textNum2++;
if (textNum2 >= splitText2.Length)
{
textNum2 = 0;
Debug.Log(" o");
}
Debug.Log(" f");
}
else
{
dataText.text = "";
textNum2++;
Debug.Log("g");
}
Debug.Log(" y");
}
}
} セリフ以外の行の文頭に何か識別子になる記号か文字を入れるといいよ
例えば
//この行はセリフではありません
と書いて、
if(splitText2[textNum2].StartsWith("//"))という感じで場合分けする >>963
なるほど…
色々試してみたんですがstarstwithでうまくセリフの取得が出来ませんでした
falseという結果は返ってくるのでstartswithの記述は問題なくテキストデータが取得出来てないということだと思うのですが
startswithで文字列splittext2や整数textNum2を取得?するのってどんな感じで書くといいんでしょうか やる気が感じられない。
むしろ、全文アップして、さぁやってくれ、としか。
使い方ならまずググってはどうか?
そしてこの箇所でエラーが出てる、こういうエラーです。やりたいことはこうです(より具体的に)と聞く。
そりゃ結果引き出すのに全文アップ、こうしたい(漠然)は、一見早道に見えるがそれは丸投げで仕事と変わらないよ。 >>965
StartsWithがどういうものかは調べた?
テキストデータは配列に入っていて、StartsWithはそれが条件に合うかを調べているだけだよ
もう一度言うけどテキストデータは配列に入ってる
splitText2[textNum2]がテキストデータそのものなんだよ
テキストデータが取得したいならsplitText2[textNum2]と何回でも書けばいい
考え方を変えないといけないよ
「セリフじゃないものは取得しない」じゃなくて、「取得した上でそれがセリフかどうか調べて、セリフのときどうする、セリフじゃないときどうする」という処理を書くんだよ あと、
「セリフじゃないとき次の行にスキップする」という処理はまだ難しいだろうから
まずは「セリフじゃないときはゲーム画面じゃなくコンソールに表示する」という処理を書いてみるといい やりたいことがよくわからんのだが
ファイルの中身を配列に格納しないで
ファイルから「n行目」を直接取り出したい、
ってこと? テラシュールの丸パクリでコードの意味分かんないって言ってるパティーン?
@brってなんだよ? 上のテキストの人、
やりたいことをまず日本語で書きたまへよ よくわからんけどテキストファイルからセリフを引っ張る仕様は良くないと思う
ScritableObjectにセリフ入れて抜き出した方が簡単だしセキュリティも強い
using UnityEngine;
[CreateAssetMenu(fileName = "Data", menuName = "Test/SerifList", order = 1)]
public class SerifList : ScriptableObject
{
public string[] Serifs = new string[]{"色々1","色々2"} ;
}
using UnityEngine;
public class SerifReader : MonoBehaviour {
public SerifList SP;
void Start () { Debug.Log (SP.Serifs[0] + " " + SP.Serifs[1]); }
} >>967
Debug.Log( splitText2[textNum2].StartsWith("/a") )で色々()に入れてやったんですがコンソールにはfalseしか表示されないんですよね
テキスト読み込んだ結果だとしたらどうしてfalseしか出ないのか謎で
>>969>>971
ゲームで使う文章を一つのファイルにまとめて管理したいってのが目的です
>>972
試してみます Unityでアプリを作っています。
「Assets\Plugins\Android」フォルダ内にAndroidManifestファイルがありません。
このファイルは何処にありますか?
使っている環境は下記の通りです。
OS : Windows10
Unity 2020.3.0f1 Personal
ご存知の方いらっしゃいましたら、教えて頂けると助かります。
宜しくお願い致します。 >>973
StartsWith("a/")は"a/"で始まっているかどうかを調べているだけだよ
だから、始まっているかいないか(trueかfalse)のどちらかが入っているのが正しいんだよ
ちゃんとStartsWithをググってみたかい?
そこに書かれてるサンプルコードは見た?
if( splitText2[textNum2].StartsWith("/a") ){
dataText.text="";
Debug.Log(splitText2[textNum2]);
}else{
dataText.text=splitText2[textNum2];
}
これでセリフじゃないときは何も表示しないようになる
セリフじゃないものを飛ばして次の行に行く処理はスマホで書くには面倒すぎるので、あとはもうteratailとかで質問する方がいい
この程度なら誰か答えてくれる >>973
あー、まとめて管理したい、の先でもうちょっと細かく具体的にどういう挙動をさせたいのかと。
>>960で言ってるような事をさせたいとしたらどういう動作をプログラムしたらその挙動が実現できるのか、日本語でまず思いつけないとプログラムにも出来んよ
あとStartWith使えと言われた時に、戻り値が何かとかはIDEでもマニュアルでも簡単に見れるだろうからboolが返ってくるなら文字列は取れんよなとかはすぐ推測してえ、じゃあ何のためにこれ使えって言ったの?とかを考えるとかはしたい所 >>975
>>976
あーテキスト全体を確認してるわけじゃないということですね
配列の1行目しか確認してないからfalseしか出ないと言うことか
おかげで理解が深まりました
出てきた言葉とか改めて調べながら再確認したいと思います
回答ありがとうございました コルーチンか有効なのは
アプリを起動してから閉じるまでの間に限られますよね。
アプリを閉じても日時指定や期間指定で
オブジェクトを表示非表示したりするには
どうしたらいいのでしょうか
よろしくお願いします。 >>977
一行目、二行目、多分回答してくれてる人の意図伝わってないと思うw
まあまだ色々と理解してない風だから色々見直してまたわからなくなったらくるがよろし アスペというか頭が固いというか何で確認しないで予想や妄想で済ませるのかね
目を閉じてバット振り回したってミート出来る訳ねえだろ
見えてねえんだからよ チュートリアルを重ねているうちは「うるせー俺はゲームを作りたいんじゃい何度もデバッグログ書かせんな」ってうんざりしてたけど、今やデバッグログが癒しになってるわ。
なんか作業進んでなくてもやった感出せるんだよな。 >>978
PlayerPrefsとかでデータを保存しておいてアプリ起動時に再セットするとか? 初心者なのですがボーンが入っている物の下にボーンの無い物を紐付けたら、ボーンの無い物が起点となってしまいます
何か設定などあるのでしょうか >>983
ふーん起点になるんだ、良かったじゃん
それで質問は何?設定があるのかって?
まぁUnityにはいっぱい設定あるよね、EditorBuildSettingsとかProjectSettingsとか
どうだろう?これで解答になったかな?
1行目にボーンの挙動がどうのこうの言ってたけど、何かこうなって欲しいみたいな挙動があったんだろうか?
まぁそれを書いてないってことは今の挙動に満足してるってことなんだろうねうん レス数が950を超えています。1000を超えると書き込みができなくなります。