- 博客(40)
- 收藏
- 关注
原创 UE4 配置文件
网上的配置文件虽然挺详细,但总觉得没用的废话太多,自己稍微精简的整理了下,总的来讲,配置文件就是用来暴露工程信息,并从外部改变内部数据的一个东西。 具体代码如下(我是写在PlayerController里):写两个方法,并且在蓝图中开放。 将数据写入配置文件,这里演示的是GameIni. 读取配置文件里的速度参数。 打包后生成的文件,...
2017-03-10 15:54:20
2579
原创 UE4局域网
本文主要讲述关于局域网的创建,总的来说就是四个节点Create Session 创建局域网,Public Connections 允许加入的人数。 Find Session 找到网络,MaxResults ->最大的搜索结果,Results输出的则是该结果的所有参数,比如当前链接人数,最大在线人数,局域网名称等等。 Join Session 加入网络,Sear...
2017-03-08 18:00:55
4054
3
原创 UE4 UDP通信
用c++创建两个Actor类,分别为UDPSend(发送) 和 UDPRecive(接收)代码如下:UDPSend.h// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "Networking.h"#include
2017-03-08 17:02:49
9316
11
原创 UE4AI(行为树)
AI的生成方式比较多,单纯用蓝图也可以构成复杂的AI,而行为树算是AI的规范化,也比较直观明朗,因此这里主要讲解行为树的使用,先说一下其中几个简单的概念。AIController->和playcontroller一样,只不过AIController负责管理的是AI,也称AI控制器。Blackboard->黑板,就跟以前上学时用的黑板一样,他的作用就是用来标记关键值,为AI存储或...
2017-01-19 16:20:13
7083
2
原创 UE4打包问题
入坑UE4也有一段时间了,说一下几点打包问题:1.打包的时候可以看Log,红色为致命错误,黄色还是绿色为警告,忘了,一般会提醒ERROR或者Faild,后面跟随的就是错误。2.现在的项目还是集中在蓝图上,因此出现错误排查的难度也较C++高,之前测试时发现写蓝图不管有没有实例化,如果有错误,也是无法打包的,因此如果项目大的话尽量用C++去写,蓝图来继承,因此蓝图我一定会保证编译无错才会去打包
2017-01-06 19:26:11
8556
3
原创 UE4第三方库导入
先附上官方文档图如图所示,先在对应的路径里添加库文件,文件夹自己创建:在Build.cs文件里添加如文档所示的代码,注释我没去掉,红色代码注意添加:using UnrealBuildTool;using System.IO;public class Sea : ModuleRules{ private string ModulePath
2017-01-06 18:47:34
6732
原创 UE4串口打开方式(4.13)
因为做外接设备,所以被串口折腾了两天,现在将代码copy出来。/** 初始化串口函数 * * @param: unsigned int portNo 串口编号,默认值为1,即COM1,注意,尽量不要大于9 * @param: unsigned int baud 波特率,默认为9600 * @param: char parity 是否进行奇偶校验,'Y'表示需要奇偶校验,
2016-11-10 16:37:26
4501
1
原创 UE4数据保存
从逻辑来讲类似于iOS的Userdefaults,进行小数据的存储在游戏进入时先判断是否存在存储数据,蓝图节点为DoesSaveGameExist,如果有就进行读取利用键盘操作进行数据存储具体步骤如下:1.先创建对应的储存蓝图SaveGame:2.在SaveGame里面定义想要储存读取的变量,这里只做演示,因此只储存人物的世界坐标3.设定按键触发储存
2016-10-08 10:26:45
8068
原创 Oculus的安装事项
一直都是以htc vive开发为主,这次遇到展厅项目,指定要用rift.原本以为安装起来应该so easy,但没想到还是跪了不少时间,原因主要是国外服务器无法访问的问题,特别是facebook收购后的Oculus官网,使用VPN也上不了,现在说下具体安装方法mark一下.首先上官网www.oculus.com,然后根据需求选择你的VR设备点击之后直接下载安装程序,大概3MB,此时可能会遇到
2016-09-28 20:11:29
7225
原创 UE4物体描边
描边在VR中挺重要的,提醒该物体的互动功能,从别人博客那边看过来的,试验了下还挺好用。附上该博客地址http://blog.youkuaiyun.com/qq992817263/article/details/51838047按他的步骤不会有错,但是记得除了pawn和关卡蓝图外,其他蓝图需要手动更改他的输入模式
2016-07-21 14:32:50
3733
原创 UE4材质节点概述
材质节点就是用来做材质的,做一个大概的整理:constant 一维向量 R 快捷键1constant2Vector 二维向量 RG 快捷键2constant3Vector 三维向量 RGB 快捷键3constant4Vector 四维向量 比三维多alpha 快捷键4Add 加法,将两个通道上的数值或者纹理增
2016-07-20 15:53:09
18984
1
原创 UE4中创建vive控制器交互
首先在UE4中创建一个承Pawn的蓝图,用来作为人物控制器开该蓝图,在左边的组件添加MotionController,这个组件就是代表手柄,我们可以给他重命名如果有自己定制的模型可以在MotionController下添加staticMesh,用来添加模型,可以直接在VR中显示出来。然后我们选择该控制器对应的是哪个手柄left 对左,right 对右,编译保存就
2016-07-14 17:48:12
6987
原创 UE4的类前缀
1.模板类以T为前缀2.集成UObject的类以U为前缀,如:USceneComponent(允许子组件相对于父组件进行位移,旋转,缩放等操作的组件)UStaticMeshComponent(静态网格组件)USphereComponent(球体碰撞组件)3.继承AAtor的类以A为前缀,如plyerController继承Controller,而Controller继承自AAt
2016-06-26 17:17:12
2035
原创 c++Virtual关键字
c++也是用到面向对象的思想,因此创建函数时,当子类重写了父类函数,则默认会被父类函数方法覆盖,无论子类或父类对象调用,都使用父类方法,因此就会涉及到关键字Virtual。因此,在父类同名函数前增加关键字Virtual就可以避免这种情况发生,至于子类函数则可写可不写,默认有该关键字属性,这样就可以依据对象来进行函数调用。
2016-06-26 15:04:05
574
原创 UE4物体移动
先设置盒体触发器,接着设置碰撞事件和时间轴,让他按照时间轴的走动而更新坐标。时间轴几个比较重要的点: 1是物体要移动必须在细节里面设置成可移动。 2.需要设置事件发生时设置物体的初始坐标,也就是上面的事件BeginPlay。
2016-06-18 21:22:46
15311
3
原创 UE4登录长时间等待问题
每次登录都要长时间等待,尤其是最近一段时间,刚好有人分享了个方法,mark出来。在快捷方式的目标文件路径后面添加空格,然后加上-http=wininet,亲测有效。
2016-06-17 20:02:12
7206
2
原创 IOS数组越界
刚才遇到了个数组越界错误,下拉刷新几十次才会出现一次carsh,于是进行断点定位,却发现断点后便不会再carsh。查了些资料,为了阻止carsh,还是要写个类别去改变他的return,贴上代码@interface NSMutableArray (Array)/*! @method objectAtIndexCheck: @abstract 检查是否越界和NSNull
2016-06-06 22:16:16
787
原创 AFNetworking请求错误
最近上传json格式的base64 image 出现了以下几个错误,mark下NSLocalizedDescription=Request failed: unacceptable content-type: text/html 解决方法使用AFNetworking请求出现了以下错误 Error Domain=com.alamofire.error.serial
2016-05-26 19:18:43
3025
原创 iOS沙盒存储
在iOS沙盒中一共有三个文件夹-Documents -->一般链接到iTunes时会被备份,所以不建议存放大文件,苹果也不让存放,审核的时候会检测下载的文件是否存放到document,如果是的话就会被拒绝。-Library -Caches -->一般下载图片的存放文件 -Preference-tmp -->暂时性文件,会被系统随机的清除掉
2016-05-24 12:09:03
604
原创 socket简单整理
先说一些概念知识:网络上的请求就是通过Socket来建立连接然后互相通信,访问ip地址(网络上主机设备的唯一标识)端口号:(定位程序)用于标示进程的逻辑地址,不同进程的标示有效端口:0~65535,其中0~1024由系统使用或者保留端口,开发中建议使用1024以上的端口传输协议(用什么样的方式进行交互)通讯的规则,常见协议:TCP、UDPhttp:超文本
2016-05-18 21:49:52
755
原创 NSRunLoop
NSRunLoop --NSRunLoop是IOS消息机制的处理模式,控制NSRunLoop里面线程的执行和休眠,在有事情做的时候使当前NSRunLoop控制的线程工作,没有事情做让当前NSRunLoop的控制的线程休眠。 如果说整个工厂是一条进程,里面的线程是生产线,那么runloop就是守着这些生产线的工人,在生产线不做的情况下进行暂停休眠,使线程不会被释放掉,而且在runlo
2016-05-17 20:22:56
483
原创 iOS多线程
多线程的概念不再赘述,iOS开发中总的来讲可用的多线程方法一共有四种。多线程的优点能适当提高程序的执行效率能适当提高资源利用率(CPU、内存利用率)多线程的缺点创建线程是有开销的,iOS下主要成本包括:内核数据结构(大约1KB)、栈空间(子线程512KB、主线程1MB,也可以使用-setStackSize:设置,但必须是4K的倍数,而且最小是16K),创
2016-05-16 22:24:41
418
原创 关于retain,assign,copy,strong,weak的见解
如果有错误的地方,请指正。首先这里涉及到iOS的内存管理机制,大致来讲就是有申请就必定要有释放,在mrc状态下,如果使用alloc init等创建对象,其对象内部的引用计数器就会加1,你就必须要进行一次release,然后系统会在dealloc中自动释放。assign--基础数据类型,简单赋值,引用计数器不变化。retain--引用计数器加1,一般用于NSString和基础数据
2016-05-16 21:07:01
595
原创 编码格式(关于utf-8,gb2312,gbk,big5等)
计算机数据是以二进制的方式来存储,符号代表文字。那么二进制数据表示的模式就是编码,跟电报的加密解密是一个道理,那么如何将这些数据转化成有效字符,这就涉及到了编码格式,一般常见的编码有以下几种1.utf-8 这是目前最常用的字符集编码方式,包含全世界所有国家需要用到的字符。2.gb2312 简体中文3.gbk 包含全部中文字符 繁体4.big5 繁体中文好吧,本来打算写下自己的
2016-05-10 16:09:22
1465
转载 iOS关于静态库和动态库的概念
一、什么是库?库是共享程序代码的方式,一般分为静态库和动态库。静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。三、iOS里静态库形式?.a和.framework四、iOS里动态库形式?.dylib和.framework
2016-05-05 15:16:21
414
原创 关于SVProgressHUD库
放上下载地址https://github.com/SVProgressHUD/SVProgressHUDSVProgressHUD是一个不错的东西,用来做提示框用的,一般用在登录注册等界面时的状态显示,下面稍微说下几种具体用法+ (void)show; -> 只是简单的显示一个循环转圈的提示框+ (void)showWithStatus:(NSString*)string;
2016-05-05 11:00:38
1498
原创 iOS9 http无法请求的解决方法
iOS9应用通讯安全策略进行了升级, 已不再支持http这种不安全的协议(具体可见网址:What's New in iOS 9.0)新特性要求App内访问的网络必须使用HTTPS协议,http是超文本传输协议, 信息采用明文传输, 而https则使用SSL加密传输协议进行传输。但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS协议传输
2016-05-01 19:40:25
8162
原创 iOS关于cell点击更换背景颜色
具体的步骤是三个,第一步设定cell选择状态下的背景view// cell.selectionStyle = UITableViewCellSelectionStyleNone; cell.selectedBackgroundView = [[UIViewalloc] initWithFrame:cell.frame]; cell.selectedB
2016-04-28 16:53:49
2799
原创 关于performSelector的执行
系统内一共有三种方法,一种单线程,两种多线程,具体如下:单线程- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay;这个方法只有当前调用次方法的函数执行完毕后,selector方法才会被调用。
2016-04-28 16:48:24
704
原创 iOS上传App方法和问题
前期的证书问题不谈了,比较麻烦,直接说打包过程1.使用Xcode上传打开xocde,点击上面的product->archive进行打包,弹出界面后点击右边的Upload to App Store上传,不过听说上传之前先验证,通过率会高些。但是这里经常会报itunes store operation failed错误,这是网络问题,基本上看人品了,一般推荐用下面方法上传2.A
2016-04-28 09:17:33
2265
1
原创 iOS发布时的截图尺寸
截图iphone4 : 640x960 或者 960x640phone5 640 x 1136或者1136 x 640 phone6 750 x 1334 或者1334 x 750 phone6 plus 1242 x 2208 或者 2208x1242 (phone 6 plus实际分辨率是 1080x1920) ipad不管是哪代 都是 768 x 10
2016-04-27 18:13:18
4923
原创 iOS证书问题
反正遇到一个说一个吧,老是找答案也辛苦。 先说刚遇到的问题 1.证书签发者无效 这是指系统证书WWDR需要更新下载证书地址https://developer.apple.com/certificationauthority/AppleWWDRCA.cer 下载之后 双击安装然后在登陆里面删除过期的证书 在系统里面 删除过期的证书 ok
2016-04-27 18:05:27
600
原创 关于button
1.button内有图片和文字两个属性,可以通过重写以下两句代码来更换他们的位置- (CGRect)imageRectForContentRect:(CGRect)contentRect- (CGRect)titleRectForContentRect:(CGRect)contentRect2.关于button的文字对齐,使用button.titleLabel.textAlignment = NST
2016-04-27 16:27:05
473
原创 关于iOS中的textView
1.关于实现textView的提示文字,代码片段如下:- 1.初始化 self.textView = [[UITextView alloc] initWithFrame:CGRectMake(10, 74, KscreenWidth - 20, 200)]; self.textView.delegate = self; [self.view addSubview:self.te
2016-04-26 16:56:11
467
原创 关于iOS中的导航栏
这个就是个集合贴,因为每次用到都要找代码,索性就都贴出来,后面用到再继续加1.修改导航栏返回键显示 title为@“”即为空 // 修改为空 UIBarButtonItem *returnButtonItem = [[UIBarButtonItem alloc] init]; returnButtonItem.title = @""; self.navigationItem.
2016-04-26 16:51:20
425
原创 iOS屏幕旋转
项目需求是在导航栏基类下保持竖屏,步骤如下: 第一步如下图,表示设备只支持竖屏 第二步,通过继承导航类创建一个类,在该类里面实现以下方法: - (BOOL)shouldAutorotate { return [self.visibleViewController shouldAutorotate];}- (UIInterfaceOrien
2016-04-21 15:40:45
820
原创 关于NSUserDefaults
NSUserDefaults是一个单例,在整个程序中只有一个实例对象,可以用于数据的永久保存。 他的作用一般是用来保存和恢复应用程序相关的偏好设置,配置数据等等。默认系统允许应用程序自定义它的行为去迎合用户的喜好。你可以在程序运行的时候从用户默认的数据库中读取程序的设置。同时NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作。可以通过调用synch
2016-04-21 14:20:21
441
原创 iOS集成环信客服
这两天集成环信移动客服,卡在了没有设置发送对象,这个他在文档里也没有写,因此贴出来记录一下。 首先第一步就是sdk集成和环境配置了,这个看文档就好,小白操作了: 文档地址:http://docs.easemob.com/im/300iosclientintegration/20iossdkimport 第二步注册开发者账号,关联相关的appkey
2016-04-20 15:59:03
4008
3
原创 iOS状态栏设置
分两步,一步是在Info.plist里面增加View controller-based status bar appearance 值设置为no 第二步在UIViewController里的viewWillApper或viewDidAppear里面加入[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarSt
2016-04-14 22:51:55
414
原创 关于CocoaPods的安装总结
不算是什么技术点,但防止下次忘记安装流程又到处搜,因此贴出来mark一下大致流程Xcode->homebrew->RVM->Ruby->CocoaPats;homebrew官方网站:http://brew.sh/index_zh-cn.html 直接摘取主页上那条输入终端/usr/bin/ruby -e "$(curl -fsSL https
2016-04-13 17:29:52
427
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人