公告版位
需要找什麼嗎? 左邊分類或許可以幫助你...

目前分類:[遊戲設計] Unity (100)

瀏覽方式: 標題列表 簡短摘要

// Golang Server

package main

import (
    "net/http"
    "fmt"
)

func loadin(w http.ResponseWriter, r *http.Request) {
    username := r.FormValue("username")
    password := r.FormValue("password")

黃彥霖 發表在 痞客邦 留言(0) 人氣()

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {

    public Texture2D t; // 將外部圖片套用至此處,圖片要到 Advanced 設定為可讀可寫才行喔 (否則會失敗)

    IEnumerator Start () {
        WWWForm wwwF = new WWWForm ();
        wwwF.AddBinaryData ("file", t.EncodeToPNG (), "A.png");
        WWW www = new WWW ("http://127.0.0.1:8080/upload", wwwF);
        yield return www;
        print ("Upload Finish !!");

黃彥霖 發表在 痞客邦 留言(0) 人氣()

using UnityEngine;
using System.Collections;
using System.Net;

public class NewBehaviourScript2 : MonoBehaviour {

void Start () {
WebClient wc = new WebClient();
wc.DownloadFile("http://27.105.18.141/img/A.mp3", "C:/Audio/A.mp3");
}

}

黃彥霖 發表在 痞客邦 留言(0) 人氣()

using UnityEngine;
using System.Collections;
using System;
using System.Net;
using System.Net.Sockets;
using System.IO;

public class MyServer : MonoBehaviour {

void Start () {
TcpListener tcp_Listener = new TcpListener(1024);
tcp_Listener.Start();

黃彥霖 發表在 痞客邦 留言(1) 人氣()

using System.Security.Cryptography;  // 記得匯入


FileStream f = new FileStream("C:/A.png", FileMode.Open);
MD5 m = MD5.Create();
byte [] hashb = m.ComputeHash(f);
f.Close();
string sm = "";
for(int k = 0; k < hashb.Length; k++){
    sm += hashb[k] + " ";

黃彥霖 發表在 痞客邦 留言(0) 人氣()

for(int i = 0;i<parentObj.transform.childCount;i++){
    GameObject go = parentObj.transform.GetChild(i).gameObject;
    Destroy(go);
}








黃彥霖 發表在 痞客邦 留言(1) 人氣()

iOS 版本可以參考:http://lolikitty.pixnet.net/blog/post/193807692

本程式碼使用 Android Etcetera Plugin 插件,如果沒有的話可以到 Asset Store 購買 (這不是廣告啦)

Asset Store:https://www.assetstore.unity3d.com/en/#!/content/2741

該範例執行結果:

1. 一開始一片空白,我們必須點選選擇圖片按鈕

黃彥霖 發表在 痞客邦 留言(6) 人氣()


要先在外面先建立 "空物件",然後把以下程式碼拖進去
之後要手動 Add Component,本次需要匯入兩個 Component,分別是 MeshFillter 與 MeshRender
最後在建立一個 Material 把它丟入 MeshRender  (如果有喜歡的圖片也可匯入)

如下:

Unity - A.unity - New Unity Project 59 - PC, Mac & Linux Standalone DX11_2  

執行結果 (沒意外會出現一個 小蘿莉 平面,大功告成!!):

黃彥霖 發表在 痞客邦 留言(0) 人氣()

以下為參考 Unity Wiki 網站: http://wiki.unity3d.com/index.php/TextureScale

Unity 官方沒有直接改貼圖大小的API,但是 Wiki 上有,故我們建立以下程式碼 (TextureScale.cs) 並匯入Unity 專案中。 
然後要如何使用呢? 很簡單,如下:

TextureScale.Bilinear (<原先的Texture2D>, <新貼圖的寬>, <新貼圖的高>);

※ 原先的 Texture2D 將會被覆蓋掉

TextureScale.cs



黃彥霖 發表在 痞客邦 留言(0) 人氣()

我做了一個實用的 選擇 程式碼,且提供 主畫面選擇頁面 的切換

選擇頁面的 ok 與 Cancel 皆有作用,如果按下 ok 將套用選擇頁面的數字

如果按下取消,則還原先前的數字,在選擇頁面上的數字並不會被套用

且該程式碼可用於Android 與 iOS 等手機上

選擇頁面還可以用觸控滑動,我想該程式碼可以幫助手機開發者很大的忙 

黃彥霖 發表在 痞客邦 留言(0) 人氣()

外部聲音檔可使用 Wav、Mp3、Ogg、Xm、It、Mod、S3m 等格式
(但目前測試過只有 Android 才可以播放 mp3... PC 需要 Wav...)
(且Android 中測試過可以用中文與日文路徑,PC端目前並不行...,PC端一定要用英文路徑...)
使用本程式碼必須在外部加入 Component 元件:Audio Source
如下圖:

Unity - A.unity - New Unity Project 54 - Android DX11 on DX9 GPU  

套用完 Audio Source 元件 與 程式碼執行 後,正常來說就可以聽見聲音了 

using UnityEngine;

黃彥霖 發表在 痞客邦 留言(5) 人氣()

必須先下載 ffmpeg :http://www.ffmpeg.org/
或者下載我備份的 ffmpeg:https://www.dropbox.com/s/a1fb8jg3ktqdtvg/ffmpeg.exe

下載後將 ffmpeg.exe 丟到 Unity 專案資料夾,之後專案發布後也要再丟一次到發布的資料夾

using UnityEngine;
using System.Collections;
using System.Diagnostics;
using System.Threading;

public class NewBehaviourScript : MonoBehaviour {

黃彥霖 發表在 痞客邦 留言(1) 人氣()

如果你的輸出結果與放入前的數值不一樣,請先看這篇文章

http://lolikitty.pixnet.net/blog/post/185218848

程式碼:

using UnityEngine;
using System.Collections;
using Npgsql;

public class TestPgSQL : MonoBehaviour {

黃彥霖 發表在 痞客邦 留言(0) 人氣()

可以到 http://pgfoundry.org/frs/?group_id=1000140 下載 Npgsql.dll 檔到 Unity 中
這裡我使用 Npgsql1.0.1-bin-mono-2.0.zip 版本 (太新版 Unity 會不支持...)
如果上面連結掛掉或找不到,我這裡提供我使用的的 Npgsql.dll 檔
https://www.dropbox.com/s/9rbeserttjlrf5e/Npgsql1.0.1-bin-mono-2.0.zip


using
UnityEngine;
using System.Collections;
using Npgsql;

public class Test : MonoBehaviour {

    void Start () {

黃彥霖 發表在 痞客邦 留言(0) 人氣()

這個程式碼執行後,Unity 執行時會當掉,但其實不是。
這是因為本程式碼只有單執行緒,他正在等待客戶端連線,
所以才有當掉的感覺 當客戶端連線後,Unity 就可以正常跑了 ...

using UnityEngine;
using System.Collections;
using System;
using System.Net;
using System.Net.Sockets;
using System.IO;
public class NewBehaviourScript : MonoBehaviour {

黃彥霖 發表在 痞客邦 留言(0) 人氣()

執行解果:
Golang, Go 語言 伺服器:

Go - Test1srcMy.go - Eclipse

 Unity 客戶端執行結果: 
Unity - A.unity - New Unity Project 16 - PC, Mac & Linux Standalone DX11 on DX10 GPU  
 

程式碼:

//----------------------------------- Unity C# 客戶端

using UnityEngine;
using System.Collections;
using System;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Threading;

public class NewBehaviourScript : MonoBehaviour {

        string ip = "127.0.0.1"; // 請改為自己對外的 IP
        int port = 1024;

        void OnGUI () {
                if(GUI.Button(new Rect(10,10,100,100), "Send Public IP")){
                        Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                        socket.Connect(ip, port); 
                        NetworkStream stream = new NetworkStream(socket);
                        StreamWriter sw = new StreamWriter(stream);
                        StreamReader sr = new StreamReader(stream);
                        
                        sw.WriteLine("你好伺服器,我是客戶端。");
                        sw.Flush();

                        string st = sr.ReadLine();
                        print (st);

                        sw.Close();
                        stream.Close();
                        socket.Close();
                }
        }
}

//-------------------------------------- Golang , Go語言 伺服器
package main import ( "bufio" "net" ) func main() { listener, _ := net.Listen("tcp", ":1024") println("啟動伺服器...") for { conn, _ := listener.Accept() // 持續監聽客戶端連線 go ClientLogic(conn) } } func ClientLogic(conn net.Conn) { // 從客戶端接收資料 s, _ := bufio.NewReader(conn).ReadString('\n') println("由客戶端傳來的訊息:", s) // 發送 資料至客戶端 conn.Write([]byte("安安你好\n")) // 關閉連線 conn.Close() }
 





黃彥霖 發表在 痞客邦 留言(0) 人氣()

將本程式碼套用至攝影機,並建立一個 Cube 。

程式執行後,可以用滑鼠點 Cube,即可打印 ok 字串。

using UnityEngine;
using System.Collections;

public class My3DButton : MonoBehaviour {

    void Update () {

黃彥霖 發表在 痞客邦 留言(1) 人氣()

本範例共需兩個 Plane,一個是動態畫面預覽,另一個是拍照完畢顯示。

將本程式碼套用至其中一個 Plane,而另一個Plane 套用至本程式碼的  public GameObject g; 之中

運行後即可有效果。

本程式碼支持 PC 的 WebCam 網路攝影機、Android 與 iOS 的攝影機。

using UnityEngine;

黃彥霖 發表在 痞客邦 留言(18) 人氣()

本範例可以使用 PC 的網路攝影機,或是Android 、iOS 的攝影機

使用本程式碼必須將本腳本套用於 "3D模型中" ,例如 Plane 、Cube 等等,不可使用於空物件或攝影機身上,否則不會出現效果。

using UnityEngine;
using System.Collections;

public class CameraTest : MonoBehaviour {

    void Start () {
        WebCamTexture c = new WebCamTexture ();

黃彥霖 發表在 痞客邦 留言(14) 人氣()

把以下程式碼丟到攝影機 ( 或者含有 Audio Listener 的物件),然後在遊戲中按下 R 鍵開始錄製,在案一次 R 鍵可停止錄製,並且在專案下會自動產生錄製好的 WAV 檔。

using UnityEngine;
using System.Collections;
using System.IO;
using System;
 
public class SaveWav : MonoBehaviour {
 
    private int bufferSize = 0;

黃彥霖 發表在 痞客邦 留言(3) 人氣()