本題
勝手にブラウザが立ち上がって、変なソフトウェアをダウンロードさせようとする。
Yontooとは違う別の何か。
原因は不明
症状の原因の特定はできないが、どうやら「Conduit Search」ってのも悪質なアドウェアらしい。
参考サイトに則ってアンインストールした。経過を待つ。
2014/11/12追記
多分解決したので追加記事書きました。
「お使いのパソコンの性能が低下しています」的な広告表示を消した(多分) - ベスパライフ
勝手にブラウザが立ち上がって、変なソフトウェアをダウンロードさせようとする。
Yontooとは違う別の何か。
症状の原因の特定はできないが、どうやら「Conduit Search」ってのも悪質なアドウェアらしい。
参考サイトに則ってアンインストールした。経過を待つ。
多分解決したので追加記事書きました。
「お使いのパソコンの性能が低下しています」的な広告表示を消した(多分) - ベスパライフ
Unityでマルチプレイ通信をしたかった。一番簡単かつ手軽そうな上記サイトを参考に構築した。
using UnityEngine; using System.Collections; public class NetworkManager : MonoBehaviour { //ファイヤーウォールを無効化してテスト //ファイヤーウォールの接続を許可すること. public GameObject objectPrefab; public GameObject objectPrefab2; //string ip = "127.0.0.1"; public string ip = "localhost"; public string port = "5037"; bool connected = false; //サーバ立ち上げ時に呼ばれるメソッド public void OnServerInitialized() { connected = true; //ネットワーク内のすべてのPCでインスタンス化が行われるメソッド Network.Instantiate(objectPrefab, objectPrefab.transform.position, objectPrefab.transform.rotation, 1); } //サーバに接続したときに呼ばれるメソッド public void OnConnectedToServer() { connected = true; Network.Instantiate(objectPrefab2, objectPrefab2.transform.position, objectPrefab2.transform.rotation, 2); } public void OnGUI() { if(!connected) { // GUI.Label (new Rect (40, 250, 100, 30), "HOST IP"); Rect rect1 = new Rect(100, 250, 250, 30); ip = GUI.TextField(rect1, ip, 32); if( GUI.Button( new Rect( 10, 10, 90, 90), "Client")) { //(hostのIPアドレス,hostが接続を受け入れているポート番号) Network.Connect(ip, int.Parse(port) ); } if( GUI.Button( new Rect(10, 110, 90, 90), "Server")) { //(接続可能人数,接続を受け入れるポート番号,NATのパンチスルー機能の設定) Network.InitializeServer(10, int.Parse(port), false); } } } void Start () {} void Update () {} }
正直書いた記憶がない。絶対どこかのコピペしたと思うんですけど。
こんな感じ。「Object Prefab」の欄はまだ気にしない。
赤いカプセル「Player1」と緑色のカプセル「Player2」を作成。
「Player1」はこんな感じ。「Network View」コンポーネントをつける。もちろん「Player2」にもつける。
「Player1」と「Player2」はプレファブにし、Hierarchyビュー上から消しておく。
この際、各Positionの値はカメラに映るように設定しておくこと。
上記の1節のような設定にする。
「Object Prefab」には「Player1」を、「Object Prefab2」には「Player2」を設定する。
名前は「test.exe」とでもして、実行する。
実行すると、このような画面になる(真ん中の白いオブジェクトは便宜上作成した)。
さて、ここから実際に通信できているのか確かめるのだが、1つのPC上で確認するため、IPアドレスはlocalhostのままで実行する。
あとたぶんいろいろ警告が出たりすると思われるが、自己責任の上、実行してください。
赤いカプセル「Player1」が生成されたのがわかる。スクリプトでいう「OnServerInitialized()」が実行され、「Player1」がインスタンス化されたからである。
今実行している画面は消さずに、もう一度「test.exe」を実行する。
たぶん何も変化がないと思われるが、立ち上げている2つの画面を交互にクリックしていくと緑のカプセル「Player2」も生成されるはず。これは一つのPC上で立ち上げていることが原因らしい。
こんな感じになったら成功。
両方の画面で緑の「Player2」が作成されていれば、両画面で通信ができている証拠。
うまくいかない場合は、ファイアウォールが通信を妨げているか、ポートの設定がうまくいっていない可能性がある。ファイアウォールは一時的に止めておくと良いかも。あと上記スクリプトではポート番号5037となっているが、各人で接続可能なポート番号は異なるので注意。
スペースキーを押すとSEが鳴るようなスクリプトの実装。
using UnityEngine; using System.Collections; public class SoundTest : MonoBehaviour { private AudioSource se; private GameObject soundObj; void Start () { soundObj = GameObject.Find("/Sounds/SE_01"); se = soundObj.GetComponent<AudioSource>(); } void Update () { if(Input.GetKeyDown(KeyCode.Space)){ se.Play(); } } }
このスクリプトをHierarchyビューの「Sounds」に貼っつける。
soundObj = GameObject.Find("/Sounds/SE_01");
se = soundObj.GetComponent<AudioSource>();
Hierarchyから「Sounds/SE_01」というパスで「SE_01」オブジェクトを探し出し、そのオブジェクトを変数soundObjに代入する。
soundObjのコンポーネントAudioSourceを、変数seに代入する。AudioSourceのAudioClipにはなにか音源(mp3,wav等)をつけておくこと。
if(Input.GetKeyDown(KeyCode.Space)){
se.Play();
}
スペースキーを押すと、SE_01に設定したSE(se_01.mp3)が鳴る。
se.Play();
の部分を、
se.PlayOneShot(se.clip);
に変更するとよい。
デフォルトでは、SE_01は3D Soundに設定されているので、「Audio Listener」がSE_01に遠ければ遠いほど音が小さくなる(デフォルトでは、Main CameraにAudio Listenerが付いている)。
Ruby On Rails チュートリアルを進めていてタイトルのエラーが出た。
具体的には以下のエラー。
NoMethodError: undefined method `configure' for #<DemoApp::Application:0x007ffd9ae37430> /Users/admin/rails_projects/demo_app/config/environments/development.rb:1:in `<top (required)>' /Users/admin/rails_projects/demo_app/config/environment.rb:5:in `<top (required)>'
「メソッドがないよ」っていうエラーみたい。2行目をみると、ディレクトリ"config/environment/"下のdeveropment.rbというファイルの一行目と、"config/"下のenvironment.rbの5行目がダメみたい。
とりあえずdeveropment.rbの一行目を見てみる。
Rails.application.configure do
これがいけないみたいなので、次のように修正。
DemoApp::Application.configure do
これでエラーは消えた。environment.rbは全く触っていないけど、エラーが消えたので良しとする。
間違えてgit remote addしてしまったときのやり直し方。
git remote add origin http://github.com/hogehoge/FOO_app.git
こんな感じでリモートに新しくリポジトリを作成した。しかしやっぱりやめたい。
普通にrmコマンドが使えるので、削除してから作り直す。
git remote rm origin http://github.com/hogehoge/FOO_app.git
これで新しく作り直せるようになった。
git remote add origin http://github.com/hogehoge/BOO_app.git git remote push -u origin master
【全部タダ!】無料で使える Unity Asset 50選 -3Dモデル編- | syyamalog
Unityで制作する際のアセット集。とても良さそうなのをまとめているサイトがあったのでメモとして残しておく。
それにしてもUnity、アップグレードする際の不具合が怖い。アニメーションとか動かなくなったりして笑える。