トップページgamedev
1001コメント386KB

【3Dゲームエンジン】Unity質問スレッド12

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2014/09/21(日) 00:19:55.04ID:2Rw6dtcb
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。

Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

次スレは>>970を踏んだ方が建てること。ダメなら>>980>>990が建てて下さい。

■前スレ
【3Dゲームエンジン】Unity質問スレッド11
http://peace.2ch.net/test/read.cgi/gamedev/1407243744/

■本スレ
【3Dゲームエンジン】Unity総合スレッド23
http://peace.2ch.net/test/read.cgi/gamedev/1404212872/

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
 http://www24.atwiki.jp/unity2ch/

●リンク
・Unity(日本公式サイト)
 http://unity3d.com/japan/
・ユーザーガイド&リファレンス
 http://japan.unity3d.com/developer/document/
・チュートリアル
 http://japan.unity3d.com/developer/document/tutorial/
・スクリプトリファレンス
 http://docs-jp.unity3d.com/Documentation/ScriptReference/
・FAQ
 http://answers.unity3d.com/index.html
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0087782014/09/23(火) 16:34:58.09ID:O2sZUM62
>>79
>>82
解決しました タイトルのSceneのMainCameraだけClipping Planes のFarが10になっていました
以前色々いじったのを忘れていました 1000にしたら正常に表示されました
返信くれた方ありがとうございました
0088名前は開発中のものです。2014/09/23(火) 16:42:14.17ID:d5DHqmKf
>>85
アセットを買えばいけると思いますよ
0089名前は開発中のものです。2014/09/23(火) 18:17:52.56ID:R/6OOHNT
>>86
利用時に手間の少なく応用の利きそうな方法が良いので
後者のエディタ拡張・リフレクションなどについて調べてみます、レスありがとう。
0090名前は開発中のものです。2014/09/23(火) 23:07:26.99ID:d5DHqmKf
>>85
それは、アセットをかうことで解決しますよ
0091名前は開発中のものです。2014/09/24(水) 02:54:56.80ID:1+iZ0HtF
ゲームタブではレイヤーにしたがって綺麗に表示されるのですが
シーンタブではレイヤー関係なくぐちゃぐちゃに表示されてしまいます
このままだとかなり見づらいのですが修正する方法はないのでしょうか
0092名前は開発中のものです。2014/09/24(水) 04:02:31.03ID:1+iZ0HtF
あともうひとつ
Update関数は一秒間に何回繰り返されるのでしょうか
またそれは変更できるのでしょうか
0093名前は開発中のものです。2014/09/24(水) 05:39:18.44ID:V7ycR0K+
terrainの木にキャラクターコントローラが当たったかどうかを、出来ればレイキャストではなくコリジョンかトリガーで拾いたいんですがご存知の方いらっしゃいませんか。

hit.gameobject.tag やnameを取ってもterrainオブジェクトそのもの、地面と同じ物しか拾えず、木のプレハブにタグを設定してみても変わら茄子。
0094名前は開発中のものです。2014/09/24(水) 07:54:16.62ID:s0dx/HuX
>>92
http://pinbit.blog.jp/archives/4254797.html

unity使う前にc#かjs勉強した方がいいかもよ
参考書みたいなのも2、3000円で買えるし
0095名前は開発中のものです。2014/09/24(水) 07:55:51.38ID:1hMVpqlR
>>92
少しは原理を考えろ!
0096名前は開発中のものです。2014/09/24(水) 10:03:37.25ID:nNjEEeAr
>>92
それは、アセットをかうことで解決すると思いますよ
0097名前は開発中のものです。2014/09/24(水) 12:59:59.72ID:rwDTFkgC
ビルドした時間って、
変数で受け取れますか?

実機テストやリリースのとき、
それがいつのビルドか、
動的に自動表示したいです。
0098名前は開発中のものです。2014/09/24(水) 13:59:15.28ID:hr4DHKVS
>>97
http://forum.unity3d.com/threads/build-date-or-version-from-code.59134/
ここにbooのなら例がのってた
でもUnity的にやるなら
http://docs.unity3d.com/Manual/BuildPlayerPipeline.html
ビルドスクリプト使ってビルド前にResourcesフォルダにtxtファイル作って食わす方が楽じゃないかな
0099名前は開発中のものです。2014/09/24(水) 15:18:49.06ID:W+GA4XFN
>>97
以下のスクリプトを適当な空オブジェクトにアタッチして実行してください(出力されるのはUTC時刻ね)
using UnityEngine;
using System.Collections;
using System.Reflection;
using System;

[assembly: AssemblyVersion("1.0.*")]
public class GetBuildDateTime : MonoBehaviour {
void Start () {
var asm = System.Reflection.Assembly.GetExecutingAssembly ();
var version = asm.GetName ().Version;

int days = version.Build;
int seconds = version.Revision;

DateTime baseDate = new DateTime (2000, 1, 1);
DateTime buildDate = baseDate.AddDays (days);
DateTime buildDateTime = buildDate.AddSeconds (seconds);

Debug.Log ("Build at:" + buildDateTime.ToString ());
}
}
0100名前は開発中のものです。2014/09/24(水) 15:31:54.33ID:5mkLfh/J
Unityを導入してプロジェクトを作ってみたのですが、こんなエラーが9個ほど固定で出てしまいます。

Error in Tooltips: Too many strings in line beginning with ' <head prefix="og'
UnityEditor.Toolbar:.cctor()
UnityEditorInternal.InternalEditorUtility:LoadSerializedFileAndForget(String)
UnityEditor.WindowLayout:LoadWindowLayout(String, Boolean)


開発環境に問題があるのか何かファイルが足りてないのか破損しているのか・・・
エラーコードで検索かけても該当するものが出てこなかったので質問させてください
0101名前は開発中のものです。2014/09/24(水) 16:47:39.29ID:rwDTFkgC
>>98
ヒントをありがとうございます。
そっちのリンクも参考に見てみます。

>>99
ありがとうございます、
そのままでいけました!

これ、グリニッジ時間なんでしょうか。
(しかもサマータイム?)

DateTime で DateTimeKind.Utc を指定したり、
AddSeconds 内で単純に 9*60*60 を追加で足しても、
日本時間にならなかったので、手動で
Addseconds( seconds + 9*60*60 - 41*60 - 30 );
とか微調整しましたが、
皆さんこんな感じでやってるんでしょうか。

それとも、何か変なことしてますか?
0102名前は開発中のものです。2014/09/24(水) 16:49:36.58ID:rwDTFkgC
あ、Utc って書いて頂いてましたね。失礼しました。
いじってるうちに
Utc とグリニッジ時間、ごっちゃになってるかも知れません。
0103名前は開発中のものです。2014/09/24(水) 17:00:02.41ID:W+GA4XFN
>>102
スミマセン、ちょっと間違ってた
int seconds = version.Revision;
じゃなくて
int seconds = version.Revision * 2;
としてください

日本時間に直すのはネットで調べれば出てくると思うので割愛しました

それとこのコードはスクリプトがコンパイルされた時間なんで
Unityのシーンをいじったりしても変化しないのでそこのところは留意しておいてください
0104名前は開発中のものです。2014/09/24(水) 17:24:09.69ID:rwDTFkgC
>>103
了解です、親切にありがとうございました!
01051002014/09/24(水) 17:29:31.91ID:5mkLfh/J
Unityの最新バージョンが出ていたのでアップデートしたら
>>100 の謎のエラーは消えました。 お騒がせしました。
0106名前は開発中のものです。2014/09/24(水) 18:20:03.72ID:sMF5wfRZ
最近、Internalコンパイルエラーの頻度が多くて、ゲーム作るのに煩わしいんですが、
他の方の環境では出ないのでしょうか?
あんまり、Internal コンパイルエラーの話を見かけないので…
0107282014/09/24(水) 19:16:10.76ID:xC0YgXRR
>>32
ありがとうございます。Unity4.6のuGUIで出来ました!
0108名前は開発中のものです。2014/09/24(水) 22:06:01.05ID:Z1hYSPmX
この2つのうちのどちらかを買おうとしているのですが、今買うならひよこでしょうか?
公式HPチュートリアルのブロック崩しは開発済みで、プログラミング知識はjavaをかじった程度です
そのくらいの知識ならこっちのほうが良いなどあれば、教えていただけると幸いです

・Unity4入門 最新開発環境による簡単3Dゲーム製作<-ひよこ本。Mecanim対応
http://www.amazon.co.jp/dp/479737490X
・Unity入門 <- 黄色本。 少し古いがわかりやすい。
http://www.amazon.co.jp/gp/product/4797365331/
0109名前は開発中のものです。2014/09/24(水) 22:16:47.02ID:sMF5wfRZ
黄色本はもうかなり古くなっているから、変更点を自分で見つけ出してスクリプトを改変できないと詰む。
だから、完全な初心者向けじゃないよね

ヒヨコの方も多少古くなってきてるけど、まぁ使える。
ただ説明不足が多いし、ゲームの完成度が中途半端なところがあったような…

Unityのベストオブベストな教本って今は何だろう…

書店を見た限りだと、オンラインシステムに触れてる教本も増えてきているよね
0110名前は開発中のものです。2014/09/24(水) 22:32:57.07ID:kqZ+4ZTE
2Dゲーム(まずはシューティング)を作ろうと思っているんですが、Game Maker StudioとUnityどっちが適していますかね?
最近はUnityの2D機能が強化されたみたいで気になっています。
0111名前は開発中のものです。2014/09/24(水) 23:17:05.43ID:nNjEEeAr
>>110
アセットを買えば2Dも簡単ですよ
0112名前は開発中のものです。2014/09/24(水) 23:18:23.18ID:xEHqsZcT
Androidのソフトキーボードのサイズの取得ってどうやったらよいのか教えて頂けませんか?
iOSのだったらTouchScreenKeyboard.areaで取得出来るんだけど、リファレンス見たらAndroidのは取得できないっぽくて……。
色々ググったけれど、一つとして解決策が見つからなかったので、どなたか御教示お願いします。
0113名前は開発中のものです。2014/09/25(木) 03:19:08.69ID:FdIiDMMQ
unityで0.1ずつ増やしていくと.00000・・ とか変な数字が出てきますがこれは修正できないのでしょうか
また 少数点以下を表示しないようにすることは出来ますか 表示はされないけど裏では少数まで計算しているといったようにしたいのです
0114名前は開発中のものです。2014/09/25(木) 03:31:38.84ID:R3YpaYUH
>>112
>>113

アセットを買えばいいと思いますよ
0115名前は開発中のものです。2014/09/25(木) 04:02:59.51ID:0exukhRL
下からはすり抜けられるがプレイヤーが乗れる台を作りたいのですが考え方をご教授願えませんでしょうか
0116名前は開発中のものです。2014/09/25(木) 04:17:57.14ID:R3YpaYUH
>>115
アセットを買えばできますよ
0117名前は開発中のものです。2014/09/25(木) 05:26:27.34ID:6jniwTI/
>>115
まんまそんな感じのチュートリアルがあったと思うよ。
0118名前は開発中のものです。2014/09/25(木) 10:04:55.01ID:d96xJ+CS
>>109
108です。ありがとうございます
とりあえず今買うのに無難そうなひよこを買おうと思います
0119名前は開発中のものです。2014/09/25(木) 10:30:41.13ID:/Aot/RuH
>>113

intに型変換するかMathf.CeilToInt関数を使う
ちなみにfloat計算は浮動位置から、下7桁迄の値の挙動が保証されているけど、それ以下の精度は無いと考えた方が良いよ
0120名前は開発中のものです。2014/09/25(木) 10:48:21.59ID:7kXWKwkM
ゲームエンジンの選定をしている所でUnityをその1つに考えています
Unityのphysicsの処理速度がどの程度かわかるデモアセットはありますか
最初についているサンプルはあまり動いていないので参考にしにくいです
0121名前は開発中のものです。2014/09/25(木) 12:39:49.42ID:C75e90Ac
>>120
真剣に選定をするんだったら同じ条件が前提になるから自分で用意するのが無難だと思うけど。
それでないと比較にもならない無意味な行為。
0122名前は開発中のものです。2014/09/25(木) 12:47:53.14ID:7kXWKwkM
>>121
最終的にはそうですね
ただボールが100個ぐらいでてきて落っこちてFPS表示されるぐらいのもんがあったら
最初の段階で見ておきたいといった所です
0123名前は開発中のものです。2014/09/25(木) 13:48:36.39ID:MXEIAmft
>>120
アセットを買えば参考になりますよ
0124名前は開発中のものです。2014/09/25(木) 15:45:39.43ID:j/UfHFHM
>>122
それなら30分くらいで作れるよ
シーンに床を置く
適当な箱を適当なサイズで区切りとかにする
それらにコリジョンとリジッドボディを付けて障害物とする
ボールを床の上空に置く
ボールにコリジョンとリジッドボディをつける
ボールは重力加速有効にする
ボールをコピーする、ちょっと横に置く
全部のボールをコピーする、重ならないようにちょっと横に置く
全部のボールをコピーする、重ならないようにちょっと横に置く
全部のボールをコピーする、重ならないようにちょっと横に置く
全部のボールをコピーする、重ならないようにちょっと奥に置く
全部のボールをコピーする、重ならないようにちょっと上に置く
全部のボールをコピーする、重ならないようにちょっと上に置く

これで128個ボールができる
プレイする
0125名前は開発中のものです。2014/09/25(木) 16:29:45.16ID:kRsmtO0X
スクリプトを有効化出来るならAllocationStatsっていうネットで公開されてるスクリプトと下記のスクリプトを適当なオブジェクトにアタッチするだけでFPS等の表示とボール生成ができる
using UnityEngine;
using System.Collections;
public class physicsTest: MonoBehaviour {
public int numberOfSpheres = 100;//ボールの数。インスペクタから変更可。
void CreateSphere(){
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
cube.transform.position = new Vector3(0,-10,0);
cube.transform.localScale = new Vector3(1000,1,1000);
cube.transform.rotation = Quaternion.Euler(10,0,0);
for(int y = 0, counter = 0; counter < this.numberOfSpheres; y++){
for(int x = 0; x < 10; x++){
for(int z = 0; z < 10; z++){
GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
sphere.transform.position = new Vector3(x,y,z);
sphere.AddComponent<Rigidbody>();
counter++;
if(counter == this.numberOfSpheres)return;
}
}
}
}
void Start () {
this.CreateSphere ();
}
}
0126名前は開発中のものです。2014/09/25(木) 16:52:29.11ID:7kXWKwkM
>>124>>125
ありがとう!
今の所3つのエンジンでAndroid,iOS,PCの速度テストをする予定です。
0127名前は開発中のものです。2014/09/25(木) 19:25:52.42ID:NuOiC/T0
教えてくださませ。

assetのEasyTouchを使って
タッチしたらtagが"fire”のパーティクルが消えるようにしたいです。

C#

public void On_TouchStart(Gesture gesture)
{
if( gesture.pickObject.tag == "fire" )
{
Destroy(gesture.pickObject);
Debug.Log("hit");
}
}

で上手く行きません。
エラーは
Object reference not set to an instance of an object
です。

根本的に間違っているのかもしれませんが
何かアドバイスを頂ければありがたいです。
0128名前は開発中のものです。2014/09/25(木) 19:53:40.59ID:oBO5ZNP6
3Dゲームについてです

カメラの前で浮遊する敵モブキャラがうごめくシーンを作っているのですが
MainCameraの範囲外にでてもターンして戻るようにしたいです
うまい方法ってありますか?
0129名前は開発中のものです。2014/09/25(木) 20:01:15.85ID:THxwtCxm
>106
私の場合、アンチウイルスソフトのリアルタイムスキャンを一時的に停止するとエラーがでなくなりました。
0130名前は開発中のものです。2014/09/25(木) 20:07:33.24ID:MXEIAmft
>>127
違うアセットを買えばいいと思いますよ
0131名前は開発中のものです。2014/09/25(木) 20:15:41.63ID:C75e90Ac
>>122
最終的にはレベルの複雑な作業じゃないから。

簡単なスクリプトで大量にボールオブジェクトインスタンス出すだけだから直ぐに出来る、何千個でも好きなだけ。
ネットで検索すればいくらでもやり方は見つかる、作成に10分とかからないからまずはやりなさい。
ゲーム作成の経験者ならなおのこと。

もし制作が始めてならツールの選定以前に自分が向いてるかを選定出来てからだと思う。
0132名前は開発中のものです。2014/09/25(木) 20:51:19.34ID:b0iGWFeh
>>129
ありがとうございます!
McAfeeたんなのか、有料版なのに邪魔してくるとは(´・ω・`)
0133名前は開発中のものです。2014/09/25(木) 22:36:20.97ID:fdrYQ6v9
Resources.Loadでテクスチャを読み込むと、縦か横が768ピクセル以上のものだと
勝手にサイズが1024×1024に変更されていたのですがこれを防ぐ方法はないのでしょうか?
0134名前は開発中のものです。2014/09/25(木) 22:48:26.92ID:GdPRX9Kd
質問失礼します。
2Dのゲームを作っています。
オブジェクト3つ作成して、カメラから見て奥に1枚、手前に2枚のテクスチャーを表示しています。
全て Shader Transparent/Diffuse で表示しているのですが、カメラを動かすと奥の1枚が手前の2枚の前に表示される時があります。
LayerはどれもDefaultで描画順序は一切手を付けていないのですが、何が問題でしょうか?
(座標系の調整でY180度 Z180度回転させて、表示しています)
よろしくお願いします。
01351342014/09/25(木) 23:11:44.68ID:GdPRX9Kd
奥のオブジェクトの Shader を Transparent/Cutout/Diffuse にしたら治ったっぽいです。
どういう事でしょうか?

分かる方、お願いします。
0136名前は開発中のものです。2014/09/26(金) 01:05:56.78ID:/0aDVSOT
ひよこ本はまぁいいけど、にわとり本に進むとダウンロードサンプルで苦しむよ
0137名前は開発中のものです。2014/09/26(金) 01:15:40.79ID:6XqrZNFX
>>133
>>134
アセットをかえば解決すると思いますよ
0138名前は開発中のものです。2014/09/26(金) 02:16:54.65ID:kGRLS1GD
>>134
Transparent/Diffuseは半透明なオブジェクト(例:ガラス材質)を描画するためのものでデプスバッファを更新しません
不透明オブジェクトに使うと表示はおかしくなります

Transparent/Cutout/以下はアルファ抜きしたいときに使います

用途・用法を確認してください

参考:
ttp://tips.hecomi.com/entry/2014/03/07/005743
0139名前は開発中のものです。2014/09/26(金) 06:56:55.58ID:1N+VUXwa
>>131
私は技術屋さんでなくお金の管理をしてるだけの人なのですよ
技術は別の人が後でついてくれる予定なんです

Unityとアンリアルで落っことすのを同じようにやってみたら
アンリアルはなめらかな動きで落っこちていく印象ですね
ただ、Unityの方がいろいろな機種で負荷が低いといった所でしょうか
こういう細かい事が必要かは表にしといて後で相談になります
0140名前は開発中のものです。2014/09/26(金) 08:13:11.64ID:ZLTKqa5c
GUIのBoxで画像を結合して表示するにはどうしたらいいの?
0141名前は開発中のものです。2014/09/26(金) 09:20:22.24ID:6XqrZNFX
>>140
それは、アセットをかうとできるとお思いますよ
0142名前は開発中のものです。2014/09/26(金) 09:22:00.07ID:ZLTKqa5c
久しぶりにきたらまだアセット厨がいんのかよ死ねよ
01431342014/09/26(金) 09:43:57.10ID:VWqMjeNU
>>137
あなたが愚かなのは、アセットを買うと実際に解決する事なんですよ。

>>138
返答ありがとうございます。
参考見てみます。
0144名前は開発中のものです。2014/09/26(金) 12:22:18.99ID:zNHMA44S
>>142
アセットをかうとしぬかもしれませんよ?
0145名前は開発中のものです。2014/09/26(金) 13:31:27.22ID:zBHDtvX7
にわとり本Amazonレビュー確か12件だったと思うがさっき見たら8件に減ってる
☆5のサクラが消えたのかな
合計評価がようやく出来に見合った☆2になった
0146名前は開発中のものです。2014/09/26(金) 13:33:12.50ID:zBHDtvX7
見直したら8件の中にまだ気持ち悪いレビュー残ってて気分悪い
0147名前は開発中のものです。2014/09/26(金) 13:45:51.89ID:RCz7Ea9X
>>144
アセットを買ってるとプロ版に移行するための貯金が進まないんだ。なんで一括のみなのか・・
0148名前は開発中のものです。2014/09/26(金) 14:47:53.46ID:iUmlagky
質問です。

NGUIでHPゲージを表示しているのですが、

private var hp : float;
private var dhp : float;
private var maxHp : float;
private var parce : float = 0.1;


function SetDHP(input : float){
var dhp = input;
var d = dhp * parce;
this.transform.localScale.x = d;
if(0 >= dhp){
this.transform.localScale.x = 0;
Destroy(gameObject,deleteTime);
}
}

でダメージを受けたらdhpにダメージ後のhpを送って、それにをprceで長さ調整しているのですが、たまにダメージを食らった瞬間、
ゲージが0になってしまいます。Debug.Logでdhpもdも見てみたのですが、0にはなっていません。普通に表示されている時もあるので、
全く意味が解りません。つたない質問ですが、どなたか解る方教えて下さい。
0149名前は開発中のものです。2014/09/26(金) 15:26:53.79ID:iUmlagky
すみません。自己解決しました。
0150名前は開発中のものです。2014/09/26(金) 20:17:43.35ID:HKqe9puQ
>>139
ちょっと日本語変だぞ。
0151名前は開発中のものです。2014/09/26(金) 22:50:25.74ID:iUmlagky
またもや質問です。

一応、ある程度ゲームが出来たのでWebPlayerでBuildしたのですが、Detonatorの爆発が表示されません。
そして、エラーメッセージで
Shader error in 'HeatDistort': 'tex2Dproj': no matching 2 parameter intrinsic function; Possible intrinsic functions are: tex2Dproj(sampler2D, float4|half4|min10float4|min16float4) at line 37

と表示されます。一応、画面設定はWebで設定してUnityではちゃんと表示されていたのですが、何が原因でしょうか?
Detonator側のスクリプトを弄る必要があるのか、他の設定が間違っているのか解りません。

どなたか解る方、解答お願い致します。
0152名前は開発中のものです。2014/09/26(金) 23:31:11.00ID:zNHMA44S
>>151
それは、あれだよ、アセットをかえばなおると思うよ
0153名前は開発中のものです。2014/09/27(土) 04:34:19.81ID:BQnYe1n9
OnMouseDrag()でドラッグ中にマウスが動いてるか止まっているかを判定したいのですが、
どうしたらドラッグ中にマウスが動いているか知る事が出来るのでしょうか?
0154名前は開発中のものです。2014/09/27(土) 04:38:10.18ID:BQnYe1n9
説明不足でした…連投ごめんなさい
マウスを動かさなくとも左クリックを押したままだとOnMouseDrag()が走っている事になっているのですが、
OnMouseDrag()が走っている状態で、マウスの動きを止めているかどうかを知るには、
C#ではどのように書けばよいのでしょうか?
0155名前は開発中のものです。2014/09/27(土) 05:15:55.77ID:OYEUOskq
前フレームと座標くらべればいいんじゃない
0156名前は開発中のものです。2014/09/27(土) 06:36:56.90ID:97cj2rym
ソースコードが長くなってきたから分けたいんだけどunityってpartial使えるの?
0157名前は開発中のものです。2014/09/27(土) 08:13:44.64ID:97cj2rym
あ使えたわ
0158名前は開発中のものです。2014/09/27(土) 08:39:34.91ID:DswitW1W
>>156
アセットをかえば使えると思いますよ
0159名前は開発中のものです。2014/09/27(土) 10:47:26.43ID:TR4EyLL+
>>154
アセットかえばいいんじゃんw
0160名前は開発中のものです。2014/09/27(土) 11:36:01.49ID:424or7QA
だれかジオメトリシェーダー部分を書いて下さい
http://monobook.org/wiki/SL_Sharp
0161名前は開発中のものです。2014/09/27(土) 13:18:00.08ID:70z16dx6
モーションの途中でオブジェクトの親子関係の操作は可能なのでしょうか?
どなたかご教授ください・・・
0162名前は開発中のものです。2014/09/27(土) 13:54:10.64ID:EmBm1Y1R
>>161
オブジェクトのtransform.parentを変更すればそのオブジェクトの親を変えられる(nullで親解除)
ので、AnimationClipにそれのイベントを仕込めばおk
0163名前は開発中のものです。2014/09/27(土) 14:11:08.20ID:x6Xz+DiY
>>161
モーションの途中でオブジェクトの親子関係の操作は、アセットをかえばできますよ
0164名前は開発中のものです。2014/09/27(土) 14:38:12.34ID:70z16dx6
>>162
ありがとうございます!
お蔭様でやりたかったモーションが作れそうです!
0165名前は開発中のものです。2014/09/27(土) 18:35:19.78ID:HGooE2IS
プリミティブオブジェクトが(Cube、Quad)に設定した色や画像が、
アプリ再生時に(カメラを通した時?)になぜか濁って(ちょっと暗めに)表示されてしまいます。
どこか変な設定等をしてしまっているんでしょうか…?
0166名前は開発中のものです。2014/09/27(土) 19:25:59.74ID:x6Xz+DiY
>>165
プリミティブオブジェクトが濁って表示されるのはアセットを買えばなおると思いますよ
01671652014/09/27(土) 19:30:31.28ID:HGooE2IS
>>166
原因って何でしょう?また、何のアセットを買うんでしょうか?
0168名前は開発中のものです。2014/09/28(日) 00:14:05.64ID:1mcGeyZh
>>167
こりゃ次のテンプレに追加だな
「アセットおじさんは常にアセットを進めてくるだけです」
って
0169名前は開発中のものです。2014/09/28(日) 01:02:43.13ID:/0g5pAF3
オブジェクトの親のScaleだけ変更する方法はないでしょうか

親のボーンを決まった方向にだけ伸ばしたときに、子のボーンもそれに追従して伸びてしまい困っています
blenderでいうボーンの「スケールを継承」のチェックを外したような挙動をさせたいのですが・・・
0170名前は開発中のものです。2014/09/28(日) 01:27:40.71ID:5eNWrwyD
>>169
オブジェクトの親のScaleだけ変更する方法は、アセットをかうと見つかると思いますよ
0171名前は開発中のものです。2014/09/28(日) 01:45:50.76ID:QxUGHm/G
MonoBehaviourを継承していないクラスのインスタンスを作成したいんだけどどうすればいいの?
0172名前は開発中のものです。2014/09/28(日) 02:08:33.99ID:QxUGHm/G
publicにしたらできたわ
privateだとなぜかぬるえらーがでた
0173名前は開発中のものです。2014/09/28(日) 02:10:01.58ID:u8gWYxPD
>>171
unityでプログラミングを始めた人かな。
大人しくjsかc#の入門書を買うか、
全部MonoBehaviourにしちゃってもいいんじゃないかな
0174名前は開発中のものです。2014/09/28(日) 02:18:00.43ID:c9qg9q91
>>172
そんな場当たり的な解決してたら何も学ばないままいつか詰むぞ…
0175名前は開発中のものです。2014/09/28(日) 02:30:14.62ID:QxUGHm/G
>>173
別にそういうわけじゃない
それに初心者にC#の入門書勧めてもunityには対応できないだろ
むやみにMonoBehaviourを継承したクラスをしたくない


MonoBehaviourを継承したクラスでMonoBehaviourを継承していないクラスのインスタンスを作成する場合、
別ファイルのクラス+クラスの先頭でnew → ぬるえらー
同ファイルでシリアライズ+クラスの先頭でnew → エラーなし、コンストラクタもいける
同ファイルでシリアライズ+Start()でnew → ぬるえらー

ちなみにそのクラスの宣言をprivateにしてもぬるえらー


こんな感じになったんだけどこの場合別ファイルのクラスでエラーを出さないようにするにはどうしたらいいんだ?
0176名前は開発中のものです。2014/09/28(日) 02:32:54.86ID:pJrpFNYj
>>117
探し方が未熟なためチュートリアル発見に及びませんでした。
どうかよろしければ教えてください
0177名前は開発中のものです。2014/09/28(日) 02:37:52.32ID:QxUGHm/G
privateっていうのはMonoBehaviourを継承したクラスの先頭でインスタンスを作成するクラスを宣言するときね
このクラス内でしか使わないのになぜprivateだとだめなのかっていうのも知りたい
0178名前は開発中のものです。2014/09/28(日) 04:29:43.33ID:seaJoC6l
Update()で常にマウスの位置を取得してる最中に、1秒前のマウスの位置を取得するにはどうすればよいですか?
やりたい事は現在と1秒前のマウスの位置が同じかどうかを比較したいです。
01791692014/09/28(日) 04:37:50.42ID:/0g5pAF3
自己解決しました
なんでも工夫次第ですなあ
0180名前は開発中のものです。2014/09/28(日) 06:57:42.40ID:9KO0iJPB
>>175
>別ファイルのクラス+クラスの先頭でnew → ぬるえらー

この「別ファイル」っていうのは
「MonoBehaviourを継承したクラス」のこと?

Monoを継承していないクラスのコンストラクタでやっていることは何?

privateだろうがどこだろうが、非Monoクラスは普通にnew()でインタンス化できる。
0181名前は開発中のものです。2014/09/28(日) 07:14:27.85ID:9KO0iJPB
>>175
とりあえずブレークポイント作ってエラー出るまで追って行けば?
恐らくコンストラクタ内の参照のタイミングに問題がある
0182名前は開発中のものです。2014/09/28(日) 07:23:10.57ID:QxUGHm/G
>>180
別ファイルはMonoBehaviourを継承していないクラスで、インスタンスを作成したいクラスのこと

Monoを継承していないクラスのコンストラクタでやっていることは、そのクラスの変数に初期値を代入しているのみ
コンストラクタをなくしても>>175と同様の結果になる
0183名前は開発中のものです。2014/09/28(日) 07:31:16.56ID:QxUGHm/G
Mono継承クラスの先頭でMono継承なしのクラスをprivateで宣言してnewして

インスタンスをStart内で利用しようとすると

NullReferenceException: Object reference not set to an instance of an object

って使った場所でエラーがでる。

publicだとエラーがでない

インスタンスは外部では使ってないのになぜpublicにしないといけないのかわからない。。。
0184名前は開発中のものです。2014/09/28(日) 07:37:02.00ID:YcvGTcac
>>183
publicじゃなくてinternalにすればいい

privateなクラスは同一ファイル内でしか使えない
0185名前は開発中のものです。2014/09/28(日) 07:45:35.72ID:QxUGHm/G
>>184
同一ファイル、同一クラスでしか使ってない
internalでも同様のエラーがでた

Mono継承なしのクラスの方はpublicで宣言してる
こんな感じ


public class Monoあり: MonoBehaviour
{

private Monoなし[] monoなし = new Monoなし[5]; //←エラーでる
//public Monoなし[] monoなし = new Monoなし[5]; //←エラーでない

void Start()
{
monoなし[0].a = 9;
}
}

[System.Serializable]
public class Monoなし
{
public int a = 0;

}
0186名前は開発中のものです。2014/09/28(日) 07:46:33.80ID:QxUGHm/G
monoなし[0].a = 9; ←ここでNullReferenceException
0187名前は開発中のものです。2014/09/28(日) 08:08:56.20ID:YcvGTcac
>>186
配列のインスタンスは作っているけど配列要素のインスタンスをつくっていない

private Monoなし[] monoなし = new Monoなし[5]; //←エラーでる
を以下に書き換えればいい
private Monoなし[] monoなし = new Monoなし[] {
new monoなし(),
new monoなし(),
new monoなし(),
new monoなし(),
new monoなし()
}
■ このスレッドは過去ログ倉庫に格納されています