位置: 编程技术 - 正文

U3DPlayer UnityWebPlayer动态改变src

编辑:rootadmin

推荐整理分享U3DPlayer UnityWebPlayer动态改变src,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

单机问题解决了,接下来是动态src的问题,之前有看到过有解决方案的。

今天参考了:Unity动态改变src的解决方法 - 智周万物

我的目的是实现可以打开任意.unity3d文件的功能,把他的代码整理了一下,能删的删,做成了一个用户控件。

不知道为什么我的是AxUnityWebPlayer ,他的是U3DPlayer,难道他已经封装了一层?反正直接用AxUnityWebPlayer代进去能用。

代码:

public partial class U3DPlayer : UserControl

{

public static U3DPlayer AppendTo(Control parent, string path)

{

try

{

U3DPlayer player = new U3DPlayer(path);

parent.Controls.Clear();

parent.Controls.Add(player);

return player;

}

catch (Exception ex)

{

Console.WriteLine(ex);

return null;

}

}

public U3DPlayer(string path)

{

InitializeComponent();

_u3DPlayer = InitU3DPlayer();

OpenFile(path);

}

private AxUnityWebPlayer _u3DPlayer;

private void OpenFile(string path)

{

_u3DPlayer = CreateU3DPlayerEx(path, _u3DPlayer);

}

private AxUnityWebPlayer InitU3DPlayer()

{

var resources = new ComponentResourceManager(GetType());

U3DPlayer UnityWebPlayer动态改变src

AxHost.State state1 = ((AxHost.State)(resources.GetObject("u3dPlayer.OcxState")));

var player = CreateU3DPlayer(state1);

return player;

}

private AxUnityWebPlayer CreateU3DPlayerEx(string path, AxUnityWebPlayer player)

{

var state = GetState(path, player);

return CreateU3DPlayer(state);

}

/*

* 给unity设置src属性时,会自动生成字符串资源,并把它赋&#;给属性OcxState。

* 由于没办法手动生成这个字符串,因而需要通过代码,即先赋&#;给OcxState,再取出来的方式得到需要的字符串资源。

* 然后再将&#;赋给重新创建的控件。

*/

/// <summary>

/// 获取需要的字符串资源

/// </summary>

/// <param name="path"></param>

/// <param name="player"></param>

/// <returns></returns>

private static AxHost.State GetState(string path, AxUnityWebPlayer player)

{

player.src = new FileInfo(path).FullName; //这里是重点

AxHost.State state = player.OcxState;

player.Dispose();//因为之后马上就要创建新的了

return state;

}

private AxUnityWebPlayer CreateU3DPlayer(AxHost.State state1)

{

var player = new AxUnityWebPlayer() { Dock = DockStyle.Fill };

((ISupportInitialize)(player)).BeginInit();

player.OcxState = state1;

Controls.Add(player);

((ISupportInitialize)(player)).EndInit();

return player;

}

}

最后,那个OpenFile是无法改成public的,应该说是,能改,前面两次调用也没问题,但是,第三次开始就会出异常关闭程序(具体原因我也没去深究)。所以使用时就一个U3DPlayer显示一个场景,要换的话,再创建一个就好了。也就是一开始的AppendTo方法。实际上我是有点想把构造函数直接改成private的,但是已经有些地方用了,还是算了。

物理引擎——刚体Rigidbody(二) 一、刚体交互当物体包含刚体的时候就可以收到物理引擎的影响,当物体包含碰撞器的时候物体可以发生碰撞,当物体含有碰撞器不含有刚体的时候可

unity3d移动平台性能优化专题(8):shader优化 当然如果你完全可以采用内置的Mobile下面的shader是最好,性能肯定是杠杠的。但是相信绝大部分游戏还是不得不自己写shader,那就要注意写出高性能的sh

Unity3D 学习笔记 (1) 在公司实习一个星期了,现在来写下这周实习的心得吧。公司用的是Unity3D这东西完全没用过……本来在学校学的是java只能从java转到C#上了,实习了一个

标签: U3DPlayer UnityWebPlayer动态改变src

本文链接地址:https://www.jiuchutong.com/biancheng/378815.html 转载请保留说明!

上一篇:单机环境下在WinForm中使用Unity3d(单机模式在哪)

下一篇:物理引擎——刚体Rigidbody(二)(物理引擎百科)

  • 小规模纳税人税收优惠2023
  • 固定资产一次性折旧的账务处理和税务处理
  • 初级职称需要进行继续教育吗
  • 出库入库结存表
  • 小规模纳税人是季报还是月报
  • 公司购买的理财产品所得需要缴纳企业所得税吗?
  • 分公司缴税企业所得税
  • 土地增值所得需交什么税
  • 5元印花税怎么申报
  • 运输服务有3%的税率吗
  • 债权投资减值的账务处理
  • 增值税建筑业税率几次调整
  • 现金预算表中的利息怎么算
  • 冲销上月收入
  • 水利基金计提比例
  • 代开的专票怎么做账?
  • 自然人出租房屋增值税税率
  • 投资股权投资基金算不算利好
  • 拿回费用票普票忘记入账怎么办?
  • 1697508669
  • 丧失控股权的后果
  • 社保打入其他公司代扣分录怎么做?
  • 工程结算收入的会计分录
  • 鸿蒙os程序
  • 预付工程款如何计提坏账
  • 厂房租金计入什么费用部门
  • Win11怎么设置开机跳过密码
  • window10今天更新
  • 高新技术企业的研发费用加计扣除
  • bigfile是什么意思
  • 真三国在哪下载
  • 包装物交不交消费税
  • 不开票收入如何纳税申报
  • 利息补偿金怎么算
  • 待摊费用和预提费用改为什么科目了
  • 小规模纳税企业在应交增值税明细科目
  • html页面间传数据
  • web前端入门教程
  • php数据的提交与采集实验报告
  • php访问路径
  • lspv命令详解
  • 怎样利用 getnext 命令检索未知对象?
  • 计提工会经费的标准
  • 报销货物运输费需要什么凭证
  • 如何查询以前申请的新西兰签证记录
  • 公司安排异地培训
  • 理财收益缴纳增值税吗
  • 库存商品和固定资产是单位会计资产核算的两项内容
  • 新成品油发票开具的模块解密是?
  • 普通发票需要做合同才能开吗
  • sql server 2005怎么用
  • db2比较大小
  • 生育津贴现在可以打个人账户么
  • 个体工商户个税多久申报一次
  • 免交的增值税要交所得税吗
  • 发票作废该如何操作
  • 商品损耗进项税额怎么算
  • 补发工资如何计算个税
  • 受疫情影响较大的上市公司
  • 金蝶旗舰版的数据怎么在标准版打开
  • 建筑企业人工费计入什么科目
  • 内连接 sql
  • macossierra安装发生错误
  • linux中安装vim命令
  • windows8怎么用
  • 怎么卸载电脑上的迅雷软件
  • linux开发经验指的什么
  • 系统导航栏已禁用怎么办
  • window8怎么样
  • linux doc
  • win7空间不足c盘
  • bootstrap和jsp
  • css div模糊
  • nodejs连接mysql的历程
  • Xamarin.Android 入门开发
  • jquery的筛选
  • javascript 自动执行
  • 刷android go
  • python中编写程序
  • 稳岗补贴是否需要发放
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设