Ⅰ unity发布安卓怎么读取本地文件
如果是读android系统的文件,比如sd卡的,需要另外接入Android层代码,用java去调用Android层的东西,类似做个sdk接入unity,一般就一个jar包就行。
如果你是做热更新,读取自己的东西,可以放在StreamingAssets文件夹下,这样发布完直接可以读,用www类读Application.streamingAssetsPath目录即可,目录前面不需要加file://,要是热更新,读完这些文件放在Application.persistentDataPath,就可以读写了
Ⅱ unity3d文件怎么打开
如果是unity3d工程文件,要在网上下载unity3d软件进行安装之后才能打开,如果是用u3d编译好的exe文件,双击就可以打开了。
Ⅲ unity3d模型安卓手机怎么查看
1.首先,必要的软件工具。 Unity3D这个是必要的。运行的环境:Java(jdk). Android模拟器(sdk)。
2. 安装
一.Java的安装。
这个非常简单。打开你下载好的选择个路径安装就可以了。
在个就是环境配置。右击我的电脑-属性-高级-环境变量-新建三个路径(变量名有的话直接在上面操作就可以了)。
1.变量名JAVA_HOME
变量值C:\Program Files\Java\jdk1.7.0_03 (这个可能没有你必须新建。 注意:C:\Program Files\Java\jdk1.7.0_03这是我的。你的可能是D:\......,E:\......) 这是我的java路径。
Unity3D如何发布Android的apk文件
Unity3D如何发布Android的apk文件
2.变量名CLASSPATH
变量值 .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin;C:\Program Files\Java\jdk1.7.0_03\jre\lib\ext\QTJava.zip
Unity3D如何发布Android的apk文件
3.变量名Path 变量值C:\Program Files\Java\jdk1.7.0_03\bin( 这个可能先前已经有了。这段路径你放在前后都无所谓。如果你放在后面C:\...前面要有个分号隔开。如果有了就不用了。)
Unity3D如何发布Android的apk文件
注意。这上面都是我个人的。你要清楚你的java安装路径。
二.Android模拟器(sdk)的安装。
下载下来后,直接解压就可以了。这个也需要环境设置。将你的模拟器platform-tools文件夹路径添加到上面讲的Path变量值下。我的是G:\adt-bundle-windows-x86\platform-tools
Unity3D如何发布Android的apk文件
可以点击sdk Manager.exe
Unity3D如何发布Android的apk文件
里面已经有下载安装好的Android版本,2.3.3 3.0 3.1。
Unity3D如何发布Android的apk文件
点击AVD Manager.exe.
Unity3D如何发布Android的apk文件
运行后界面。
Unity3D如何发布Android的apk文件
红线的已经新建好的不同的Android版本,点击右边的new按钮,出现下面的界面。
Unity3D如何发布Android的apk文件
可任意填写好的AVDname,再选择Device,这是设置屏幕大小的,你可以选择一个都可以。
Target点击下拉箭头,选择自己需要的Android版本。SD Card选择大小,点击OK。
此时,你的AVD界面。已经有了一个Android版本了,可以多建几个版本。选择一个Android版本。点击右下角的Start接着继续点击Launch。真机(虚拟机)就出来了。
现在环境已经配置完成了
3.发布apk
打开你的Unity3D。
Unity3D如何发布Android的apk文件
首先,设置一下你的模拟器路径。点击菜单栏中的Edit-Preferences
Unity3D如何发布Android的apk文件
看Android SDK Location这个选项浏览你的模拟器路径。
Unity3D如何发布Android的apk文件
点击 File-Build Settings。
Unity3D如何发布Android的apk文件
然后再点击Add Current添加你的场景。再 点击Switch platform 确保你的那个unity小图标在Android一行, 再点击Play Settings
Unity3D如何发布Android的apk文件
要注意的是划红线的部分。如果你原先没设置。第一个红线出你的应该是com.Company.Proctname. 记住要把Company改成别的。只要不是Company就可以了。不然发布不了。
另外就是第二个划红线处。这是选择你要发布的apk文件的运行环境。也是最低环境。这里我们选择2.3 每一个unity版本都有一个发布最低版本的限制。我这个已经是最低限制了。
更高的Unity版本发布的最低Android系统版本限制也就会越高。特别要注意的是。你发布的Android版本如果你的模拟器里面没有这个版本的。那就会出现发布错误。点击Build按钮。就可以发布出apk文件了。
Ⅳ 求问大神,如何将unity程序在手机上运行
unity程序只有通过打包成Android的apk,或者ios的程序包才能在手机上运行。
1.你需要unity3d的ide,如果要编译打包成Android的你还需要java,Android studio等工作才行
Ⅳ 如何将unity模型导入android程序中
1.Android端代码可以在Eclipse中开发(AndroidStudio没有试,应该也可以)
2.Unity3D端代码要在Unity中开发
3.Android和Unity3D端,两边都需要加入一些代码从而可以使之关联交互。
4.将Android端代码编译成jar文件以插件形式放入到Unity端中
5.在Unity中将整个项目Build成apk文件,然后安装到手机或模拟器里运行
本文主要讲解1,2,3。对于4,5建议大家去看雨松MOMO的Unity博客的第17篇和第18篇。
UnityPlay:
在编写Android端和Unity3d端代码前,有必要先了解一下可以使两部分交互的类UnityPlay。
个人理解UnityPlay是个Unity提供给外部交互的一个接口类。
为什么是“个人理解”?这我不得不爆粗口了,TMD官网根本就没有相关的API和文档(如果大家有谁找到一定给我来一份,就当我骂自己了)。
在关联Android时,想拿到UnityPlay以及相关类的jar包可以从下面的地址找到:Unity安装路径\Editor\Data\PlaybackEngines\androidplayer\bin在bin文件夹下有一个classes.jar的jar文件,它就是我们想要的。
而在bin同目录下有一个src文件,点击到最后有3个类,分别是UnityPlayerActivity.java,UnityPlayerProxyActivity.java,UnityPlayerNativeActivity.java。前两个打开个后只有一行代码,说的是UnityPlayerActivity和UnityPlayerProxyActivity都继承自UnityPlayerNativeActivity。而打开UnityPlayerNativeActivity中居然有代码,而且我估计这应该是UnityPlayerNativeActivity的源码。
由于关于UnityPlay的资料我只找到这么一个,所以我把UnityPlayerNativeActivity中的代码都贴出来,如果我注解有不对的地方希望大家指正。
/**
* UnityPlayerActivity,UnityPlayerProxyActivity都继承自UnityPlayerNativeActivity
* 而UnityPlayerNativeActivity继承自NativeActivity
* 在该类里定义了一些和ANDROID生命周期相同的回调方法,留给自定义的Activity子类重写。
*/
public class UnityPlayerNativeActivity extends NativeActivity
{
//UnityPlayer的引用,并且我们不能改变这个引用变量的名字,它被native code所引用
protected UnityPlayer mUnityPlayer;
protected void onCreate (Bundle savedInstanceState)
{
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
// 设置显示窗口参数
getWindow().takeSurface(null);
setTheme(android.R.style.Theme_NoTitleBar_Fullscreen);
getWindow().setFormat(PixelFormat.RGB_565);
// 创建一个UnityPlayer对象,并赋值给全局的引用变量
mUnityPlayer = new UnityPlayer(this);
//为UnityPlayer设置一些参数
if (mUnityPlayer.getSettings ().getBoolean ("hide_status_bar", true))
getWindow ().setFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
int glesMode = mUnityPlayer.getSettings().getInt("gles_mode", 1);
boolean trueColor8888 = false;
// UnityPlayer.init()方法需要在将view附加到layout之前调用。它将会调用native code
mUnityPlayer.init(glesMode, trueColor8888);
// 从UnityPlayer中获取到Unity的View视图
View playerView = mUnityPlayer.getView();
// 将Unity视图加载到根视图上
setContentView(playerView);
// 使Unity视图获取焦点
playerView.requestFocus();
}
protected void onDestroy ()
{
// 当Activity结束的时候调用UnityPlayer.quit()方法,它会卸载之前调用的native code
mUnityPlayer.quit();
super.onDestroy();
}
// 下面几个方法都是ANDROID相关回调方法,确保在ANDROID执行相应方法时UnityPlayer也需调用相应方法
protected void onPause()
{
super.onPause();
mUnityPlayer.pause();
}
protected void onResume()
{
super.onResume();
mUnityPlayer.resume();
}
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
mUnityPlayer.configurationChanged(newConfig);
}
public void onWindowFocusChanged(boolean hasFocus)
{
super.onWindowFocusChanged(hasFocus);
mUnityPlayer.windowFocusChanged(hasFocus);
}
public boolean dispatchKeyEvent(KeyEvent event)
{
if (event.getAction() == KeyEvent.ACTION_MULTIPLE)
return mUnityPlayer.onKeyMultiple(event.getKeyCode(), event.getRepeatCount(), event);
return super.dispatchKeyEvent(event);
}
}
看完这个类后就知道了为什么在自定义的Activity中继承了UnityPlayerActivity等类以后,只要重写了onCreate并调用super.onCreate()方法后不需要任何其他的代码就会自动的显示出Unity3D的视图。因为初始化Unity视图的代码都在UnityPlayerNativeActivity父类中实现了。
ANDROID端代码:
在写ANDROID代码的时候,一定要导入Unity3D提供给我们的jar包,jar包的位置我在上面说了。引入jar包加入到buildpath中这些最基本的我就不多说了。
要想和Unity交互,我们就不能继承ANDROID提供给我们的Activity,我们需要继承刚才jar包中引入的Unity提供的Activity类,一共有这么3个:
UnityPlayerActivity,UnityPlayerProxyActivity,UnityPlayerNativeActivity。具体区别不知道,因为没有文档,没有API,没有源码(这里再次鄙视一下)。刚才我们看过UnityPlayerNativeActivity的代码(虽然很短,但我觉得这个就是源码),知道UnityPlayerActivity,UnityPlayerProxyActivity都是它的子类,而且最终父类为NativeActivity。所以我们继承Unity提供的最外层的子类是最好的选择,我这里选择的是UnityPlayerActivity,因为名字最简单,觉得该封装的都应该封装好了。
public class MainActivity extends UnityPlayerActivity {
private Button topButton;
private Button bottomButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 设置test为我们的根布局
setContentView(R.layout.test);
// 通过刚才的源码分析,知道mUnityPlayer为一个全局的引用变量,而且已经在父类中设置好了,所以直接拿来用就可以了
View playerView = mUnityPlayer.getView();
// 将Unity的视图添加到我们为其准备的父容器中
LinearLayout ll = (LinearLayout) findViewById(R.id.unityViewLyaout);
ll.addView(playerView);
// 上面的button设置监听器
topButton = (Button) findViewById(R.id.topButton);
topButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//发送消息给Unity端,该函数第一个参数为接受消息的类对象,第二个该类对象用接受消息的方法,第三个参数为传递的消息
//所以下面的意思就为:调用Main Camera下面的Previous方法,传送的消息为空
UnityPlayer.UnitySendMessage("Main Camera","Previous","");
}
});
// 为下面的button设置监听器
bottomButton = (Button) findViewById(R.id.bottomBtn);
bottomButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//调用Main Camera下面的Next方法,传送的消息为空
UnityPlayer.UnitySendMessage("Main Camera","Next","");
}
});
}
}
最后看一下Android端的布局文件,布局很简单,上下各有一个button按钮,两个按钮中间是Unity的视图。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/topButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:text="PREVIOUS" />
<LinearLayout
android:id="@+id/unityViewLyaout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/bottomBtn"
android:layout_below="@+id/topButton"
android:orientation="horizontal" >
</LinearLayout>
<Button
android:id="@+id/bottomBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="NEXT" />
</RelativeLayout>
Android端的代码就介绍完了,很简单。唯一的难点就是UnityPlayerActivity和UnityPlayer的使用。
Ⅵ u3d格式文件用什么软件打开
U3D是Adobe公司做为将3D格式嵌入Acrobat产品家族中的工具格式,包括Acrobat Reader、和输出成PDF 1.6
档案
。
U3D是通过
MicroStation
创建的,并且可以嵌在 PDF
文档
之中,以便使用 Adobe Reader 用打开
标准
PDF 文件相同的方式打开此文档
Ⅶ unity文件导出到安卓手机的APK打不开是怎么回事
1.Android端代码可以在Eclipse中开发(AndroidStudio没有试,应该也可以)
2.Unity3D端代码要在Unity中开发
3.Android和Unity3D端,两边都需要加入一些代码从而可以使之关联交互。
4.将Android端代码编译成jar文件以插件形式放入到Unity端中
5.在Unity中将整个项目Build成apk文件,然后安装到手机或模拟器里运行
Ⅷ unity 3d文件用什么打开
unity 场景,注意第一个场景是启动场景一般设置为含启动画面的 。
要想编译构建游戏,那在菜单 File 里的 Build Settings 里切换你想要构建的目标平台,然后在上面的场景列表中加入你导入的项目里的 导入项目后,要想在 Unity 内调试,你打开相应的 .unity 场景文件然后按播放键就可以了.unity