Advertisement Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

283 Neutral

About RJSkywalker

  • Rank

Personal Information

  • Role
  • Interests
  1. RJSkywalker

    Level generation in Unreal Engine 4

    Perfect!! Thanks a lot! I'll definitely check this out as well!
  2. RJSkywalker

    Level generation in Unreal Engine 4

    Ohh you meant this way! Yeah that would definitely be one way. Yes I did watch it but I had been trying to use more C++ than Blueprints. But the Blutility tool you mentioned just did my job. I'm guessing I could generate a level procedurally and bring it up in the Editor using this tool and save the actors generated in my map? The only thing I'd need to be careful about would be the object destruction like you mentioned.
  3. RJSkywalker

    Level generation in Unreal Engine 4

    Yup its there in 4.18 as well. This seems to be very useful and a nice place to start. Thank you so much! I didn't understand what you meant by directly changing the editor. Do you mean to change the editor code?
  4. Hello, I'm trying to design a maze using a mix of procedural and manual generation. I have the maze already generated and would like to place other objects in the maze. The issue is the maze object is created on BeginPlay and so I'm unable to view it in the Editor itself while dragging the object to the Outliner. Any suggestions? I'm thinking of doing something in the Construction Script or the object Constructor but not not sure if that would be the way to go. I'm still getting familiar with the Engine code base and only have a little experience in Maya or Blender since I'm a programmer.
  5. I am trying to set the value of an integer by reference in a macro created in my blueprint script. The macro does a simple conditional check of an integer and increments it if it is less than a max value. I was using one of the maze generating tutorials and the function throws a failed to resolve term Value passed into Target error. I am not sure why it cannot deduce the type of Value. The original tutorial was made in UE 4.6, so could it be due to updates made in UE 4.16? I have attached a screenshot of my blueprint. [not sure if this section might be the correct one since I couldn't find an appropriate section to post this question].
  6. Thanks a lot! It gives me a clearer picture now. I wasn't aware this could be related to morph targets. Unfortunately my engine does not support morph targets just yet. 
  7. Hey guys, I had a question regarding the type of animations that can be exported to FBX created in Maya. One of my animators created an animation of an object using Deformers specifically the Bend and Squash. It seems like FBX does not export this property (or even import). We tried exporting it with Bake Animation and the Deformed Models option but it did not work. Also, the object does not have any bones/joints associated with it. Does anyone know if this is a FBX thing? Do we need to write a custom FBX  exporter to handle this?
  8. RJSkywalker

    Handling png images as fonts

    I think you are spot on! I will discuss this with them and will probably adjust the font exporter. Thanks a lot! 
  9. RJSkywalker

    Handling png images as fonts

    That is what I was thinking.   @Shaarigan: We use C++ in our proprietary engine and the graphics engine uses openGL for rendering. We actually get an image made in Photoshop containing the characters which is not exactly a font per se nor based on an existing font.   @Kylotan: Our custom font exporter actually only supports system fonts. Detecting an image as a font by the exporter would sound strange?    This is what we usually get:  [sharedmedia=gallery:albums:1105]   A simple image (like a sprite sheet perhaps?) Would it be similar to a Bitmap font?
  10. RJSkywalker

    Custom Font

  11. Hello everyone,   So I have this issue of rendering characters that are not fonts but rather png images which the artist gives me. They want to apply certain effects, drop shadows and custom hand drawn curvatures at times. Our custom font exporter does not support this kind of functionality.  Has anyone faced this kind of a situation? Do I need to create a custom font object? The artist does not give us any kind of description, just a png strip that contains the relevant characters. What I was thinking was to either use this strip or to break the strip per character which I am guessing is not a good idea, in addition to asking the artist of a description file. 
  12. Hi all!   I am trying to render an image that I generate after reading it from a .asc file. I perform all the necessary transformations and then display it on the screen. The output is a ppm image. Initially I used the windows API related BitBlt function to render the image and it shows perfectly on the screen. Then I tried using OpenGL to render the same image and it doesn't.   If I use DrawPixels, it shows a black screen and if I use texture mapping it shows a partial white box.   Here are the images and the bits of code. I have worked with targa images before but this is the first time I am creating a ppm image but I do not think that is an issue as I am just trying to render the buffer which is of type char*. This image is produced using BitBlt. [attachment=18697:screenShot1.jpg] This one using OpenGL. [attachment=18698:screenShot2.jpg] And here is the code of my files: Main.cpp and COpenGLRenderer.cpp:  DrawFrameBuffer(using BitBlt) void DrawFrameBuffer() { HBITMAP m_bitmap; HDC memDC; memDC = CreateCompatibleDC(hDC); //display the current image char buffer[sizeof(BITMAPINFO)]; BITMAPINFO* binfo = (BITMAPINFO*)buffer; memset(binfo,0,sizeof(BITMAPINFO)); binfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); //create the bitmap BITMAPINFOHEADER* bih = &binfo->bmiHeader; bih->biBitCount = 3*8; //3 - channels bih->biWidth = pApp->GetFrameBufferWidth(); bih->biHeight = pApp->GetFrameBufferHeight(); bih->biPlanes = 1; bih->biCompression = BI_RGB; bih->biSizeImage = 0; //for rgb bitmaps we set it to 0 m_bitmap = CreateDIBSection(hDC,binfo,DIB_RGB_COLORS,0,0,0); SelectObject(memDC,m_bitmap); binfo->bmiHeader.biBitCount = 0; GetDIBits(memDC, m_bitmap, 0, 0, 0, binfo, DIB_RGB_COLORS); binfo->bmiHeader.biBitCount = 24; binfo->bmiHeader.biHeight = -abs(binfo->bmiHeader.biHeight); //for top-down image SetDIBits(memDC,m_bitmap,0, pApp->GetFrameBufferHeight(), pApp->GetFrameBuffer(), binfo, DIB_RGB_COLORS); //replace the 3rd last argument with the framebuffer SetStretchBltMode(hDC, COLORONCOLOR); RECT client; GetClientRect(hwnd, &client); BitBlt(hDC,0,0,pApp->GetFrameBufferWidth(),pApp->GetFrameBufferHeight(),memDC,0,0,SRCCOPY); DeleteDC(memDC); DeleteObject(m_bitmap); }  DrawFrameBuffer(OpenGL) function void COpenGLRenderer::setFrameBuffer(const char* buffer) { m_pFrameBuffer = (char*)buffer; glGenTextures(1, &m_pTextureID); glBindTexture(GL_TEXTURE_2D, m_pTextureID); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, m_nWindowWidth, m_nWindowHeight, 0 , GL_RGB, GL_UNSIGNED_BYTE, buffer); //gluBuild2DMipmaps(GL_TEXTURE_2D,GL_RGB,m_nWindowWidth, m_nWindowHeight,GL_RGB,GL_UNSIGNED_BYTE, buffer); } void COpenGLRenderer::drawFrameBuffer(const char* buffer) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, m_pTextureID); glPushMatrix(); glLoadIdentity(); glTranslatef(0.0f, 0.0f, -10); //z translation is the last value glBegin(GL_QUADS); glTexCoord2f(0,0); glVertex2f(0,0); glTexCoord2f(1,0); glVertex2f(m_nWindowWidth,0); glTexCoord2f(1,1); glVertex2f(m_nWindowWidth,m_nWindowHeight); glTexCoord2f(0,1); glVertex2f(0,m_nWindowHeight); glEnd(); glPopMatrix(); glDisable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, 0); /*glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glPixelStorei(GL_UNPACK_ALIGNMENT,1); glRasterPos2i(0, 0); if(buffer != NULL) { glDrawPixels(m_nWindowWidth, m_nWindowHeight, GL_RGB, GL_BYTE, buffer); } */ } I have commented the DrawPixels technique that did not work. Can anyone tell me what might be going on? Its basically trying to render image data stored in a char* variable using different methods. One method works so I know for sure that the buffer does not contain invalid data.
  13. RJSkywalker

    line segments having common endpoint

    @Alvaro: Thanks for the d >= abs(L0-L1) info.. I had figured out the L0+L1 part. Both of these would give if a solution exists or not. But I also want to know the configuration of the 2 line segments, as in also the point as well. I want my function to return a list of all such points. Because if I think of a brute force way, I can find atleast 3 points by moving by L0 parallel to  the 3 axes. The other points can be found by breaking L0 into x,y and z components if I am write. So if i have to iterate through a loop, how can I find the range of the loop it does not exactly go on a particular order when finding the point. 
  14. Hey guys,    I had a question regarding 2 line segments. Say we have 2 line segments whose origin and lengths are given as: (P0, L0) and (P1, L1) respectively. I need to find when can they end at the same point. The line segments lie anywhere in 3D space.   One of the approaches I could think about is: Let's say this common end point is T and the points are A and B. So for the line segments with A and B as origins, A,B and T must form a triangle. Length of vector AT = L0 and length of vector BT = L1. But since the orientation of the line segment is not known, there can be a lot of possibilities. Lets say we choose a particular orientation for line segment AT as (i,j,k) - 1st octant. So now we can move anywhere in space  from T but only by a distance L1 to find BT.    This is where I m not sure how to move forward. 
  15. RJSkywalker

    Setting up Nvidia PhysX SDK 3.2

    I found the error: I was not including WIN32 in the preprocessor section of the properties
  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!